У меня есть TreeView с ItemsSource, являющийся узлами разных типов.TreeView с AddIn
class Node
class Folder : Node
class Project : Folder
Все 3 класса определены в основном проекте. И используемый мной xaml выглядит так:
<TreeView Name="ProjectTreeView" SelectedItemChanged="ProjectTreeView_SelectedItemChanged">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type prj:Project}" ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type prj:Folder}" ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type prj:Node}">
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
Что я хочу сделать, это иметь надстройку. В разных сборках я хочу определить типы, которые наследуют Node или в некоторых случаях Folder. И я хочу, чтобы эти новые типы имели свой собственный макет в TreeView. Некоторые из них могут иметь несколько флажков или индикатор выполнения. Xaml для этих новых типов должен быть частью сборок, где определены типы.
Как я могу во время выполнения сообщить TreeView, какой шаблон использовать для этих новых типов узлов?
В чем вопрос? –
Oups ... исправлено! – Aleks
Итак, новые типы узлов будут в разных сборках. Можете ли вы обновить вопрос, чтобы указать, будете ли вы определять шаблоны в каждой сборке узла или в текущей сборке? –