【发布时间】:2015-05-24 00:30:09
【问题描述】:
我有一个模型类 Person,它包含字符串属性 Name。
我有一个存储库类 Persons,它在其构造函数中创建了几个 Person 类的实例,并且它有一个返回所有 Persons 的方法。
我有一个视图模型类 PersonsViewModel,它继承自实现 INotifyPropertyChanged 的 ViewModelBase。
PersonsViewModel 具有 ObservableCollection 属性 AllPersons,其中包含来自 Persons 的数据。
在视图中,我有绑定到名称的文本框列表。
ItemsControls 绑定到 Allpersons。
所以,如果我的视图中有两次文本框列表。 它们是副本,因此它们绑定到相同的属性。
如果我在第一个列表中编辑一个文本框并将光标远离文本框,为什么它会自动更改第二个列表中文本框中的值。
拜托,谁能解释一下为什么会这样。
我知道在命令后编辑 ViewModels 属性时需要使用 OnPropertyChanged,但我在本示例中没有使用它们。
我是 MVVM 和 WPF 的新手。
提前谢谢你:)
【问题讨论】:
-
请提供代码示例,仅从您的解释很难找到问题。
-
我的代码实际上没有问题。事实上,我需要解释绑定是如何工作的,以及视图如何通知视图模型有关修改。
标签: wpf mvvm binding viewmodel observablecollection