Template vs. ControlTemplate vs. DataTemplate
问题描述:
我们有用于WPF控件的模板,控件模板和数据模板。我不知道是否还有其他类型(请告诉我,如果有的话)。但是,什么时候用什么?Template vs. ControlTemplate vs. DataTemplate
答
看那FrameworkTemplate
派生类型:
-
ControlTemplate
- 指定可以在控制的多个实例共享的Control
的视觉结构和行为方面.; -
DataTemplate
- 描述数据对象的可视化结构; -
ItemsPanelTemplate
- 指定ItemsPresenter
为ItemsControl
的项目布局创建的面板。
P.S:正如你可以看到有没有只是“模板” :)
答
<UserControl.Resources>
<HierarchicalDataTemplate DataType="{x:Type src:League}" ItemsSource="{Binding Path=Divisions}">
<TextBlock Text="{Binding Path=Name}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type src:Division}" ItemsSource = "{Binding Path=Teams}">
<TextBlock Text="{Binding Path=Name}"/>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type src:Team}">
<TextBlock Text="{Binding Path=Name}"/>
</DataTemplate>
</UserControl.Resources>
答
至于何时使用什么 - 你通常可以通过要覆盖哪些告诉。它将是ControlTemplate或DataTemplate类型的。
+1因为没有“模板” – kenwarner 2011-05-10 15:55:52