2016-06-27 12 views
0

私はすべてのコンバータを使用する必要があるコンボボックスを持っている:WPFコントロールでItemTemplateの複製を回避するには?

<ComboBox> 
    <ComboBox.ItemTemplate> 
    <DataTemplate> 
     <ContentPresenter 
      Content="{Binding Converter={StaticResource TimespanConverter}}"/> 
    </DataTemplate> 
    </ComboBox.ItemTemplate> 
</ComboBox> 

私は現在、私はそれを必要とするが、この重複を回避する方法があるかどうか、私は疑問に思ってどこにでもこれを貼り付けています:行うことができるように何かのような: <TimeSpanComboBox ...></...>またはそれに類するもの?

+1

'DataTemplate'リソースを作成して再利用できませんでしたか? '' – clcto

答えて

3

あなたのApplication.Resourcesのどこかにimplicit DataTemplateを定義することができます。すなわち

<DataTemplate DataType="{x:Type sys:TimeSpan}"> 
    <ContentPresenter 
     Content="{Binding Converter={StaticResource TimespanConverter}}"/> 
</DataTemplate> 

あなたが(例えばItemTemplate="{StaticResource TimeSpanTemplate}")それを必要な場所あなたはもちろん、明示的にキーを定義し、再利用することができます。

関連する問題