PropertyChangedEventHandler
时间: 2024-09-11 12:01:34 浏览: 32
PropertyChangedEventHandler是.NET框架中的一个委托类型,它代表了一个事件处理程序的方法签名。这个委托用于Windows Presentation Foundation (WPF) 和其他的.NET库中的数据绑定功能,例如MVVM(Model-View-ViewModel)架构。当对象的属性值发生改变时,会触发PropertyChanged事件,持有PropertyChangedEventHandler类型的引用的代码就会被调用,以便更新UI或者其他依赖于该属性变化的地方。
举个例子,在WPF中,如果你有一个ViewModel类,它的某个属性值发生变化时,你可以订阅`PropertyChanged`事件,并在事件处理方法中更新视图的状态。代码通常如下:
```csharp
public class MyViewModel : INotifyPropertyChanged
{
private string _myProperty;
public string MyProperty
{
get { return _myProperty; }
set
{
if (_myProperty != value)
{
_myProperty = value;
OnPropertyChanged("MyProperty");
}
}
}
// 声明并实现PropertyChanged事件
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
// 使用场景
private readonly MyViewModel viewModel = new MyViewModel();
viewModel.PropertyChanged += (sender, e) => UpdateMyView(e.PropertyName);
```
阅读全文