C# 使窗体重新检查ModelView
我有一个使用C# 使窗体重新检查ModelView,c#,wpf,C#,Wpf,我有一个使用ModelView的WPF表单。此ModelView具有项目的列表。问题是,当我将列表中的某个项更改为时,表单继续保留旧项 是否有人知道我如何通知表单,他必须使用ModelView更新其数据?使用observeCollection并在ViewModel中实现inotifPropertyChanged 示例 如果您有一个人员列表,请将该列表设置为一个可观察的集合 问题是在修改当前列表或列表中的某个项目时没有更新?我有一个数组属性,其中填充了列表的数据。当我在列表中添加一个项目时,表单中
ModelView
的WPF表单。此ModelView
具有项目的列表。问题是,当我将列表中的某个项更改为时,表单继续保留旧项
是否有人知道我如何通知表单,他必须使用ModelView
更新其数据?使用observeCollection
并在ViewModel中实现inotifPropertyChanged
示例
如果您有一个人员列表,请将该列表设置为一个可观察的集合
问题是在修改当前列表或列表中的某个项目时没有更新?我有一个数组属性,其中填充了列表的数据。当我在列表中添加一个项目时,表单中什么也没有发生。那么,Meleak回答的前半部分就是你需要的。
public class MyViewModel : INotifyPropertyChanged
{
private ObservableCollection<Person> m_persons;
public ObservableCollection<Person> Persons
{
get
{
return m_persons;
}
set
{
m_persons = value;
OnPropertyChanged("Persons");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
public class Person : INotifyPropertyChanged
{
private string m_name;
public string Name
{
get
{
return m_name;
}
set
{
m_name = value;
OnPropertyChanged("Name");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}