Wpf 不带DataTemplateSelector的不同ListBoxItem值上的不同模板?
作为标题,有可能吗 我在TreeView中看到,您可以使用datatype属性为不同的数据类型定义不同的HierarchycalDataTemplate,它甚至不需要DataTemplateSelector 所以我想知道是否可以根据绑定的值选择一个模板而不使用DataTemplateSelector 在我的情况下,非常简单,如果数据对象的属性=1,则显示template1,2,然后显示template2Wpf 不带DataTemplateSelector的不同ListBoxItem值上的不同模板?,wpf,silverlight,templates,Wpf,Silverlight,Templates,作为标题,有可能吗 我在TreeView中看到,您可以使用datatype属性为不同的数据类型定义不同的HierarchycalDataTemplate,它甚至不需要DataTemplateSelector 所以我想知道是否可以根据绑定的值选择一个模板而不使用DataTemplateSelector 在我的情况下,非常简单,如果数据对象的属性=1,则显示template1,2,然后显示template2 不使用DataTemplateSelector是否可以执行此操作?是的,您可以使用DataT
不使用DataTemplateSelector是否可以执行此操作?是的,您可以使用
DataTrigger
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Template" Value="{StaticResource DefaultTemplate}" />
<Style.Triggers>
<DataTrigger Binding="{Binding SomeProperty}" Value="2">
<Setter Property="Template" Value="{StaticResource Template2}" />
</DataTrigger>
</Style.Triggers>
</Style>
实际上,我更喜欢
DataTriggers
而不是DataTemplateSelector
,因为它们响应PropertyChange
通知,而且我更喜欢在我的UI代码中查看我的UI逻辑。是的,谢谢,这节省了大量创建DataTemplate的时间。