В преобразовании моего дерева для использования флажков, как в статье Джоша Смита, я нахожу свой рабочий код xaml для использования нескольких HierarchicalDataTemplates точно такого же формата, но с разными DataTypes.Как назначить разные типы данных статическому иерархическому шаблону в XAML?
Есть ли какой-либо способ определить единый статический HierarchicalDataTemplate в XAML, но назначить разные типы данных, где xaml создает объекты?
Ниже представлены два рабочих иерархических шаблона. Единственная разница заключается в DataType:
XAML
<HierarchicalDataTemplate
DataType="{x:Type r:ReportViewModel}"
ItemsSource="{Binding Children}"
>
<StackPanel Orientation="Horizontal">
<CheckBox
Focusable="False"
IsChecked="{Binding IsChecked}"
VerticalAlignment="Center"
/>
<ContentPresenter
Content="{Binding Name, Mode=OneTime}"
Margin="2,0"
/>
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate
DataType="{x:Type r:NetworkViewModel}"
ItemsSource="{Binding Children}"
>
<StackPanel Orientation="Horizontal">
<CheckBox
Focusable="False"
IsChecked="{Binding IsChecked}"
VerticalAlignment="Center"
/>
<ContentPresenter
Content="{Binding Name, Mode=OneTime}"
Margin="2,0"
/>
</StackPanel>
</HierarchicalDataTemplate>
Спасибо за любую помощь.
Добавление: Я нашел частичный ответ на How do I reuse a HierarchicalDataTemplate?
Если кто-то имеет лучшее решение?