RaisePropertyChanged的重要性是什么?

use*_*650 4 .net c# mvvm mvvm-light

我目前正在学习MVVM,我不明白它RaisePropertyChanged是多么重要

例如这个功能:

public City SelectedCity
{
    get
    {
        return selectedcity;
    }
    set
    {
        RaisePropertyChanging(SelectedCityLocationPropertyName);
        selectedtrend = value;
        RaisePropertyChanged(SelectedCityLocationPropertyName);
        MessageBox.Show(City.Name);
    }
}
Run Code Online (Sandbox Code Playgroud)

还有这个 :

public City SelectedCity
{
    get
    {
        return selectedcity;
    }
    set
    {
        //   RaisePropertyChanging(SelectedCityLocationPropertyName);
        selectedtrend = value;
        //   RaisePropertyChanged(SelectedCityLocationPropertyName);
        MessageBox.Show(City.Name);
    }
}
Run Code Online (Sandbox Code Playgroud)

给我完全相同的结果.你能否告诉我为什么RaisePropertyChanged如此重要并给我一个例子来说它会产生重大影响?

Jon*_*Jon 7

读这个:

http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx

RaisePropertyChanging事件用于通知UI或绑定元素数据已更改.例如,TextBox需要在基础数据更改时接收通知,以便它可以更新您在UI中看到的文本.如果没有NotifyPropertyChanged事件,TextBox将不知道数据已更改.

这在MVVM中非常重要.