假设我有一个C#代码,它创建了一组WPF控件。我可以用一段XAML +实例化调用替换它吗?

时间:2012-11-22 14:47:57

标签: c# wpf xaml controls

我认为可能是控制模板,数据模板,样式 - 但它们似乎都是针对不同的东西。我对此很感兴趣,所以我可以使用Blend来设计控件组。

2 个答案:

答案 0 :(得分:1)

您可以使用ItemsControl并将其ItemsSource绑定到包含要在控件中显示的数据的对象集合。然后,您需要设置ItemsControl的{​​{1}}以实际显示控件。

查看此WPF ItemsControl Example

答案 1 :(得分:1)

首先,您永远不需要在代码中创建WPF控件。除了窗口和对话框。 现在我不明白你的问题,但正如khellang已经指出的那样,ItemsControl是一种显示某些内容列表的简单方法。这可以归功于WPF以非常灵活的方式显示内容。 DataTemplate在其中发挥了重要作用,因为它或多或少地告诉WPF“我有一个对象XYZ,我希望WPF像这样显示它”。 ControlTemplate类似但不是关于你的数据,而是定义控件的外观,你想要一个只有彩色矩形的按钮? ControlTemplate是要走的路。 简而言之,样式是预定义的宏,用于在WPF控件上设置属性。

现在你要求的,或者更好的是我所理解的,最好用ContentControlDataTemplate完成。只需将ContentControl放置在您希望放置控件组的位置,然后使用分配给ContentControls ContentTemplate属性的DataTemplate来定义控件组。