wpf中控制模板和数据模板之间的区别

时间:2010-04-28 04:54:13

标签: wpf datatemplate controltemplate

有人可以详细说明wpf中ControlTemplateDataTemplate之间的区别吗?

在自定义控件的情况下应该使用什么?例如,StackPanel可能有imageTextBox

在某些使用“内容”属性定义自定义控件的情况下,这似乎令人困惑。

如果可以提供一个如何在不同场景中使用每个场景的示例,那就太棒了。

1 个答案:

答案 0 :(得分:8)

ControlTemplate用于更改现有控件的外观。因此,如果您不希望按钮看起来呈矩形,则可以定义一个控件模板,使其看起来呈椭圆形或任何不规则形状。这是一种定制'无外观'库存WPF控件的方法;编写自己的用户控件的替代方法。 More details

DataTemplate用于指定如何以可视方式呈现特定类的实例(通常是数据传输对象 - 具有属性的对象)。例如定义DataTemplate以在显示所有客户的列表框中可视化Customer实例。 More details