DataTemplate 类:介绍数据对象的可视结构。
DataTemplateKey属性:
获取默认键的 DataTemplate。
DataType 属性:
获取或设置此 DataTemplate 所针对的类型。
Dispatcher 属性:
获取 Dispatcher 这 DispatcherObject 与相关联。
HasContent 属性:
获取一个值,该值指示是否此模板具有优化内容。
IsSealed属性:
获取一个值,该值指示此对象是否处于不可变状态,因此不能更改。
Resources属性:
获取或设置此模板的作用域内的可用资源的集合。
Template属性:
获取或设置用于录制或播放该模板的 XAML 节点定义或由一位撰稿人应用该模板对象的引用。
Triggers属性:
获取将应用属性值或执行操作基于一个或多个条件的触发器的集合。
VisualTree属性:
获取或设置模板的根节点。
下面的示例演示如何创建 DataTemplate 内联。 DataTemplate 指定每个数据项显示为三个 TextBlock 内的元素 StackPanel。 在此示例中,数据对象是一个名为类 Task。 请注意,每个 TextBlock 这个模板中的元素是否绑定到的属性 Task 类。
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
它是更常见的是定义 DataTemplate 在资源部分使其成为可重用的对象,如以下示例所示︰
<Window.Resources>
<DataTemplate x:Key="myTaskTemplate">
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</Window.Resources>
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}"
ItemTemplate="{StaticResource myTaskTemplate}"/>