WPF如何创建具有可配置内容的可重用复合组件?

时间:2013-05-21 12:58:53

标签: wpf user-controls controltemplate composite

我想创建一个由任意控件和此控件旁边的小按钮组成的组件(与此示例中的相同:http://putridparrot.com/blog/wpf-composite-control/)。

我的问题是内容元素(按钮旁边的元素)并不总是必须是TextBox,它可以是任何类型的控件。有没有办法创建一个提供按钮的组件,并且可以在设计甚至运行时自由选择内容元素?

1 个答案:

答案 0 :(得分:0)

您可以通过堆叠面板替换文本框,然后在代码后面添加具有所需控件的子项。

例如: 在XAML中:

<stackpanel name="testPanel" Grid.Column="0" />

在加载用户控件或窗口或按下按钮时的代码behing中..输出:

testPanel.Children.Add(new Combobox()); --- something like this...

通过这种方式,您可以确保无论您放入堆叠面板(它可以是另一个网格或停靠面板......)都会出现在按钮之前,并且您可以在运行时创建所需的控件。

的问候,

SM