当我搜索互联网以了解如何为列表框设置itemtemplate时,我找到了一个示例,他们在window.resources中使用了样式设置器来执行此操作。所以,我有几个选项,我可以在window.resources中创建一个datatemplate,或者创建一个Style Setter。设置样式而不是datatemplate是否有点过分?我应该使用哪种方法?
谢谢。
答案 0 :(得分:1)
你不能说一个或另一个更好,这取决于。 Implicit DataTemplates是一种很好的全局方式(即使只是部分可视树),Type应该是什么样子。使用ItemTemplate时,您可以指示它在给定ItemsControl中的外观(即ListBox,ComboBox等)。
您甚至可以使用它们的组合,这样您就可以拥有“默认”外观,但可以根据控件或控件类型进行自定义。
即使使用ItemTemplate,您也可以全局设置它,例如所有ListBox,或仅设置一个ListBox实例。再说一次,有时一种方法更好,有时则不然。这取决于你想要做什么。
答案 1 :(得分:0)
通常使用样式将相同的值应用于相同类型的不同实例。如果不是这种情况,则根本不需要创建样式。
答案 2 :(得分:0)
我更喜欢为项目类型制作<DataTemplate>
,然后让WPF弄明白。
<DataTemplate DataType="{x:Type local:Task}">
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
<List ItemSource="{Binding MyListOfTaskItems"/>