来自:http://www.th7.cn/Program/WPF/2011/12/21/51676.shtml
ControlTemplate用于描述控件本身. 使用TemplateBinding来绑定控件自身的属性, 比如{TemplateBinding Background} DataTemplate用于描述控件的Content. 使用Binding来绑定数据对象的属性, 比如{Binding PersonName} 一般来说, ControlTemplate内有一个ContentPresenter, 这个ContentPresenter的ContentTemplate就是DataTemplate类型 Control类型 - Template属性 (ControlTemplate类型) - ContentPresenter - ContentTemplate (DataTemplate类型) ContentControl类型 - Template属性 (ControlTemplate类型) 继承自Control - ContentTemplate (DataTemplate类型) ItemsControl类型 - Template属性 (ControlTemplate类型) 继承自Control - ItemsPanel属性 (ItemsPanelTemplate类型) 指定布局容器 - ItemTemplate属性 (DateTemplate类型) 每个Item的Template <Style TargetType="Button"> <Setter Property="OverridesDefaultStyle" Value="True"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Grid> <Ellipse Fill="{TemplateBinding Background}"/> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style>