【发布时间】:2021-07-09 19:58:31
【问题描述】:
我正在 WPF 中创建一个自定义控件,我希望能够显示我放入其中的任何内容。
一个很好的例子是Grid、StackPanel、DockPanel
你可以在哪里做类似的事情:
<StackPanel>
<TextBox />
<Button/>
</StackPanel>
StackPanel 知道 TextBox 和 Button 会显示它们并做出相应的反应。
问题: 如何显示我放入控件的内容?
我希望能够做类似的事情:
<controls:MyControl>
<Grid>
<TextBox />
<Button />
</Grid>
</controls:MyControl>
更新 后面的代码如下:
public class MyControl:ContentControl
{
static MyControl()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(MyControl),
new FrameworkPropertyMetadata(typeof(MyControl)));
}
}
<Style TargetType="{x:Type local:MyControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Border BorderThickness="1" BorderBrush="Black">
<ContentPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
【问题讨论】:
标签: wpf wpf-controls