The*_*Spy 1 c# inotifypropertychanged
public class ViewModel : INotifyPropertyChanged
{
private string name;
public string Name
{
get
{
return name;
}
set
{
if (name != value)
{
name = value;
OnPropertyChanged("Name");
}
}
}
protected void OnPropertyChanged(string propertyname)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyname));
}
}
public PropertyChangedEventHandler PropertyChanged;
}
public partial class MainWindow : Window
{
private ViewModel vm;
public MainWindow()
{
InitializeComponent();
vm = new ViewModel { Name = "Shahrukh Khan" };
DataContext = vm;
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
vm.Name = "Salman Khan";
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行以下代码时,我收到此错误:
INotifyUnderstandingYoutube.ViewModel
没有实现接口成员System.ComponentModel.INotifyPropertyChanged.PropertyChanged
我不明白这背后的原因?任何人都可以解释一下是什么错误?
小智 5
您的
public PropertyChangedEventHandler PropertyChanged;
Run Code Online (Sandbox Code Playgroud)
定义PropertyChanged
为一个字段,恰好是委托类型的字段,但仍然是一个字段.INotifyPropertyChanged
预计一个事件.
public event PropertyChangedEventHandler PropertyChanged;
^^^^^
Run Code Online (Sandbox Code Playgroud)