在xaml

时间:2016-02-12 05:03:57

标签: wpf xaml treeview

我想将viewmodel中的对象添加到树视图中,但我不想使用树视图项。

有没有办法做这样的事情?

<TreeView>
    <SomeTag Object="{Binding MyViewModel.MyObject}/>
</TreeView>

问题在于我试图绑定到非同质数据结构

ClassA
   ClassB
       ClassC (Collection)
          ClassD
          ClassD
          ...

我不想要A类节点 为ClassB添加了带有静态标题文本的TreeViewItem 为ClassC添加了一个带有静态头文本的TreeViewItem,将ItemsSource绑定到ClassC,并将绑定的DisplayMemberPath设置为Name属性。

绑定另一个控件ro TreeView.SelectedItem。 如果单击ClassB或ClassC项,则SelectedItem是TreeViewItem。 如果我单击ClassD项,则SelectedItem是我的对象。

如果试图不断获取我的对象。

2 个答案:

答案 0 :(得分:0)

您可以使用Tag属性。

<TreeView Tag="{Binding MyObject}" >
</TreeView>

答案 1 :(得分:0)

You can bind 02/Jan/2015:08:07:32 162 5475 200 4352 02/Jan/2015:08:08:43 139 19550 200 3078 02/Jan/2015:08:09:01 87 9408 200 2005 02/Jan/2015:08:09:18 175 9408 200 3467 property like this:

TreeViewItem's