У меня есть два HierarchicalDataTemplate
идентичных, кроме ConverterParameter
, используемого для свойства ItemsSource
:
<HierarchicalDataTemplate x:Key ="Template1"
ItemsSource="{Binding Converter ={StaticResource DemoConverter}, ConverterParameter='One'}">
...
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key ="Template2"
ItemsSource="{Binding Converter ={StaticResource DemoConverter}, ConverterParameter='Two'}">
...
</HierarchicalDataTemplate>
Как я могу избежать избыточности (см. Выше ...
)? Я хотел бы иметь только один шаблон, которому я могу передать (статический) ConverterParameter
. Примерно так (с PARAMETER заполнителем):
<HierarchicalDataTemplate x:Key ="Template"
ItemsSource="{Binding Converter ={StaticResource DemoConverter}, ConverterParameter={PARAMETER}">
...
</HierarchicalDataTemplate>
И в «потребляющем» коде я бы написал что-то вроде (с другим ПАРАМЕТРОМ заполнителем):
<TreeView ItemTemplate="{StaticResource ProjectTreeEditItem, PARAMETER=One}" ...></TreeView>
или
<TreeView ItemTemplate="{StaticResource ProjectTreeEditItem, PARAMETER=Two}" ...></TreeView>
Как этого достичь? Подходящим (хотя и неоптимальным) решением было бы наличие двух шаблонов-оболочек, которые ссылаются на один общий шаблон (установка параметра оттуда, если проблема заключается в установке параметра как части определения ItemTemplate
), но я бы не стал не знаю, как это сделать: o /