TreeView コントロールにノードを表示していますが、データをジェネリックで正しく表示するのに問題があります。より具体的には、WPF がデータ テンプレートを見つけるのに問題があるようです。NodeViewModel`1
x:Type が であると宣言されており、実際の型が であることが原因だと思いNodeViewModel< INode>
ます。ただし、使用しようとすると、XAML はコンパイルされませんNodeViewModel< INode>
。
次のような HierachialDataTemplate があります。
<HierarchicalDataTemplate
ItemsSource="{Binding Path=Children}"
DataType="{x:Type viewModels:NodeViewModel`1}">
<TextBlock Text="{Binding Path=Node.NodeDescription}" />
</HierarchicalDataTemplate>
NodeViewModel は次のように宣言されています。
public class NodeViewModel<T> where T : INode
{
public T Node { get {...} set {...} }
}
ノード インターフェイスは次のようになります。
public interface INode
{
string NodeDescription { get; }
}