为什么RaisePropertyChange无法正常工作
public partial class MainWindow : Window
{
private string _searchString;
public string SearchString
{
get { return _searchString; }
set
{
_searchString = value;
RaisePropertyChanged(() => SearchPersonEHistroy);
}
}
}
它提供错误“当前上下文中不存在”RaisePropertyChanged“
但是当我试图这样使用时:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new MainViewModel();
}
public class MainViewModel : NotificationObject
{
private string _searchString;
public string SearchString
{
get { return _searchString; }
set
{
_searchString = value;
RaisePropertyChanged(() => SearchPersonEHistroy);
}
}
}
}
它们之间有什么区别?或者我们在公共部分类MainWindow:Window 中有什么转换为RaisePropertyChange?
答案 0 :(得分:2)
RaisePropertyChanged()
由NotificationObject
类定义,而不是Window
。
由于Window
已经是DependencyObject
,您应该将其SearchString
属性设为dependency property,这样您就可以将其绑定到SearchString
属性查看模型。