我的列表遵循复合设计模式。现在我遇到问题如何在ListBox
中显示它?我的设计要求在整个层次结构中只能选择一个Leaf
。到目前为止,我有:
<ListBox ItemsSource="{Binding List}">
<ListBox.Resources>
<ResourceDictionary>
<DataTemplate DataType="{x:Type local:ILeaf}">
<Border><TextBlock Text={Binding Name} /></Border>
</DataTemplate>
<DataTemplate DataType="{x:Type local:Composite}">
<ListBox ItemsSource="{Binding List}"/>
</DataTemplate>
</ResourceDictionary>
</ListBox.Resources>
</ListBox>
所以现在我已经用自己的ListBox
嵌套了SelectedItem
。
我选择了错误的控件来显示它。 TreeView
适合。