模板与ControlTemplate与DataTemplate

时间:2011-05-10 14:56:27

标签: wpf wpf-controls

我们有WPF控件的模板,控件模板和数据模板。我不知道是否还有其他类型(如果有的话请告诉我)。但是,何时使用什么?

3 个答案:

答案 0 :(得分:3)

查看FrameworkTemplate派生类型:

  • ControlTemplate - 指定可以在控件的多个实例之间共享的Control的可视结构和行为方面。
  • DataTemplate - 描述数据对象的可视结构;
  • ItemsPanelTemplate - 指定ItemsPresenterItemsControl的项目布局创建的面板。

P.S。:正如您所看到的那样,只有“模板”:)

答案 1 :(得分:1)

HierarchicalDataTemplate

<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>

答案 2 :(得分:0)

至于什么时候使用什么 - 你通常可以告诉你什么是最重要的。它将是ControlTemplate或DataTemplate类型。