使表单重新检查ModelView

Jai*_*Oro 2 c# wpf

我有一个使用的WPF表单ModelView.这ModelView有一个List项目.问题是,当我将项目更改为列表时,表单继续具有旧项目.

有谁知道我怎么能注意到他必须ModelView更新它的数据的形式?

Fre*_*lad 5

在ViewModel中使用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));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

实施INotifyPropertyChangedPerson

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));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)