可以帮我写一个wpf mvvm的基类嘛?
时间: 2023-05-28 10:05:03 浏览: 113
一个wpf+mvvm的实例
当然可以,下面是一个简单的WPF MVVM基类示例:
```c#
public abstract class ViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
protected bool SetField<T>(ref T field, T value, [CallerMemberName] string propertyName = null)
{
if (EqualityComparer<T>.Default.Equals(field, value)) return false;
field = value;
OnPropertyChanged(propertyName);
return true;
}
}
```
这个基类实现了`INotifyPropertyChanged`接口,以便在属性更改时通知视图。它还包含一个名为`SetField`的方法,它可以用于更改属性的值并通知视图。使用它,您可以在视图模型中更轻松地实现属性更改通知。
阅读全文