我想在属性上运行一个方法。我希望我的代码能够编译成这样的东西:
public string Property
{
get { return _property; }
set
{
_property= value;
IWantToCallFromHere(); // I want to inject this call
NotifyPropertyChanged();
}
}
答案 0 :(得分:0)
在Wiki中名为On_PropertyName_Changed的页面中对此进行了描述。
基本上,您添加的方法使用命名约定private void OnYourPropertyNameChanged()
您想要实现的目标的完整示例如下:
public string Property
{
get; set;
}
private void OnPropertyChanged()
{
IWantToCallFromHere();
}
被翻译成
private string _property;
public string Property
{
get => _property;
set
{
if(_property != value)
{
_property = value;
OnPropertyChanged();
NotifyPropertyChanged();
}
}
}
private void OnPropertyChanged()
{
IWantToCallFromHere();
}