我有组合框,都需要使用转换器:
<ComboBox>
<ComboBox.ItemTemplate>
<DataTemplate>
<ContentPresenter
Content="{Binding Converter={StaticResource TimespanConverter}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
我目前正在粘贴这个我需要的地方,但我想知道是否有办法避免这种重复:能够做到这样的事情:
<TimeSpanComboBox ...></...>
或类似的东西?
答案 0 :(得分:3)
您可以在Application.Resources
的某处定义implicit DataTemplate
。即。
<DataTemplate DataType="{x:Type sys:TimeSpan}">
<ContentPresenter
Content="{Binding Converter={StaticResource TimespanConverter}}"/>
</DataTemplate>
您当然也可以定义密钥并在需要时明确重复使用(例如ItemTemplate="{StaticResource TimeSpanTemplate}"
)。