2011-06-10 80 views
0

我有一个视图,我有一个绑定到树视图的对象。该对象有一些集合(不同类型),所以我使用具有CompositeCollection的hiearchical模板在树视图中显示它们。WPF treeview selectedItem databinding

我得到了一个绑定到treeview的selectedItem的文本框。在这里,我将selectedItem序列化为XML并将其显示在文本框中进行编辑。

目前为止都很好。然而,我遇到的最大问题是,我无法使用树视图的SelectedItem属性的双向数据绑定,因为它是只读的。

如何可以干净地保持文本框编辑与我绑定到树视图的对象保持同步?

回答

0

我不认为你需要对SelectedItem本身进行双向数据绑定,你应该在你的绑定对象的类中公开一个属性,它返回序列化的字符串,并在set上适当地修改对象。这应该比处理整个对象更容易。

+0

感谢您的回答。我明白你的意思了。会放弃一下。 – obaylis 2011-07-07 13:10:52

0

您的XML流必须表示为SelectedItem节点上的属性,并且您的TextBox必须以某种方式绑定到该属性。 SelectedItem是只读的,但它引用的对象不是。如果您双向绑定该属性,则应该能够正确地影响编辑。这将在您使用的DataTemplates和HiearchicalDataTemplates中完成,因为它们绑定到您用TreeView表示的节点的基础数据表示。