我在 TreeView 控件中显示节点,并且在使用泛型正确显示数据时遇到问题。更具体地说,WPF 似乎无法定位数据模板。我猜这是因为 x:Type 被声明为NodeViewModel`1
,而实际类型为NodeViewModel< INode>
. 但是,如果我尝试使用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; }
}