繁体   English   中英

避免使用WPF控件复制ItemTemplate?

[英]Avoiding ItemTemplate Duplication With WPF Controls?

我有所有都需要使用转换器的组合框:

<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}" )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM