2
我有一個WPF窗體使用ModelView
。這ModelView
有一個List
的項目。問題是,當我將項目更改爲列表時,表單繼續存在舊項目。使窗體重新檢查ModelView
有誰知道我怎樣才能使通知的形式,他已與ModelView
更新它的數據嗎?
我有一個WPF窗體使用ModelView
。這ModelView
有一個List
的項目。問題是,當我將項目更改爲列表時,表單繼續存在舊項目。使窗體重新檢查ModelView
有誰知道我怎樣才能使通知的形式,他已與ModelView
更新它的數據嗎?
使用ObservableCollection
和視圖模型
例
實現INotifyPropertyChanged
如果你有人員名單,榜上有名的ObservableCollection<Person>
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));
}
}
}
在Person
INotifyPropertyChanged
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));
}
}
}
在修改*當前列表*或修改*列表中的項目時,您沒有得到更新的問題? – Jon
我有一個數組屬性填充列表的數據。當我向該列表添加項目時,表單中沒有任何反應。 –
Meleak的答案的前半部分是你需要的,然後。 – Jon