0

我需要在树视图中显示来自两个不同来源的项目。我怎样才能做到这一点?

详细信息:项目源 A:此项目源将有一个标题,n 个子项,其中每个子项最多可以有 32 个子子项。

项目源 B:此项目源将有一个标题和 n 个子项。

我需要支持子项和子项的上下文菜单操作。

xaml 代码应该是什么样的,我的类的结构应该是什么?

我当前的结构只有一个 ItemSource 并且绑定代码如下所示

<TreeView.ItemTemplate>
  <HierarchicalDataTemplate ItemsSource="{Binding Slash}">
         <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding Name}"/>
         </StackPanel>
    <HierarchicalDataTemplate.ItemTemplate>
       <DataTemplate DataType="{x:Type dt:Slash}">
           <StackPanel Orientation="Horizontal">
               <TextBlock Text="{Binding FullName}"/>
           </StackPanel>
       </DataTemplate>
    </HierarchicalDataTemplate.ItemTemplate>
  </HierarchicalDataTemplate>
</TreeView.ItemTemplate>
4

2 回答 2

0

您需要做的就是将两个集合放入一个“ObservableCollection collection and thenBind that to theTreeView.ItemsSource”属性中。

如果出于某种原因,您需要输入集合,那么您仍然有三个选择;要么对两个集合中的两种类型进行子类化,然后创建子类型的新集合;或者让它们都实现相同的接口并将其用作新集合的类型;或扩展ObservableCollection以允许集合接受这两种类型的对象,同时仍然在每个输入点检查它们的类型。

于 2013-10-07T09:25:49.713 回答
0

您可以查看我在此主题中发布的答案 如果您有任何问题,请提出;)

于 2013-10-07T08:22:15.493 回答