WPF ViewModel不是主动演示者

时间:2011-01-15 08:26:35

标签: wpf viewmodel diagram presenter

有一个ViewModel由一些相关对象(节点和行(, 如何在View中显示(同步)这些VM并保持对象连接。 我使用一些DataTemplate将模型映射到视图,但每个对象将与其相关对象同步(具有强大的绑定),但我如何将此DataTemplate生成的UI元素链接(和同步)在一起。 我在这里从另一个角度描述问题: Sunchronizing view model and view

3 个答案:

答案 0 :(得分:0)

要保持视图同步,您应该使用绑定,但绑定源需要实现某些接口或者是依赖属性。对于集合,您需要实现INotifyCollectionChanged以及您使用INotifyPropertyChanged的属性,如果您随后更改了源,您的视图也会发生变化。

答案 1 :(得分:0)

在实现INotifyPropertyChanged并使用ICollectionChanged(ObservableCollection)并绑定到视图之后,如果要支持编辑数据,可以考虑实施IEditableObject

此界面允许您撤消编辑操作。如果不实现IEditableObject,则需要返回数据源以在取消修改时将其重置为原始值。 DataGrid也支持该接口。

答案 2 :(得分:0)

您可以使用中继命令逻辑同步VM和View。

你可以在这里看到一个样本锻炼

Binding the "WindowState" property of a window in WPF using MVVM