使用WPF控件避免ItemTemplate重复
本文关键字:ItemTemplate 重复 WPF 控件 使用 | 更新日期: 2023-09-27 17:51:19
我有需要使用转换器的组合框:
<ComboBox>
<ComboBox.ItemTemplate>
<DataTemplate>
<ContentPresenter
Content="{Binding Converter={StaticResource TimespanConverter}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
我目前粘贴这个无处不在,我需要它,但我想知道是否有一种方法来避免这种重复:能够做这样的事情:<TimeSpanComboBox ...></...>
或者类似的?
您可以在Application.Resources
的某个地方定义隐式DataTemplate
。例如
<DataTemplate DataType="{x:Type sys:TimeSpan}">
<ContentPresenter
Content="{Binding Converter={StaticResource TimespanConverter}}"/>
</DataTemplate>
您当然也可以定义一个键并在需要时显式地重用它(例如ItemTemplate="{StaticResource TimeSpanTemplate}"
)。