0

我有一个视图,其中我有一个绑定到树视图的对象。该对象有许多集合(不同类型),所以我使用带有 CompositeCollection 的分层模板在树视图中显示它们。

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

到目前为止一切都很好。但是,我遇到的最大问题是我不能将 2 路数据绑定与树视图的 SelectedItem 属性一起使用,因为它是只读的。

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

4

2 回答 2

0

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

于 2011-06-10T16:24:39.847 回答
0

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

于 2011-06-10T16:34:10.720 回答