订阅 propertyChanged 事件 PostSharp
Subscribe to propertyChanged event PostSharp
我的 ViewModel 是用 PostSharp 制作的:
[NotifyPropertyChanged]
class ProfileSelectorViewModel
{
public int Selection { get; set; }
}
Selection
绑定到列表框的选择 属性。我如何订阅这个 属性 的变化?我想在 Selection
更改它的值时调用一个方法。
您可以通过转换 ProfileSelectorViewModel
class 的对象来订阅 PropertyChanged
事件。由于您的工具可能会抱怨 class 尚未实现接口 INotifyPropertyChanged
,因此您可以使用辅助方法 Post.Cast<SourceType, TargetType>(SourceType)
.
因此,如果您有一个 ProfileSelectorViewModel
类型的对象 obj
和一个处理更改的方法 OnSelectionChanged
,则订阅如下所示:
Post.Cast<ProfileSelectorViewModel,INotifyPropertyChanged>(obj).PropertyChanged += OnSelectionChanged;
详情见http://doc.postsharp.net/inotifypropertychanged-add#consuming。
我的 ViewModel 是用 PostSharp 制作的:
[NotifyPropertyChanged]
class ProfileSelectorViewModel
{
public int Selection { get; set; }
}
Selection
绑定到列表框的选择 属性。我如何订阅这个 属性 的变化?我想在 Selection
更改它的值时调用一个方法。
您可以通过转换 ProfileSelectorViewModel
class 的对象来订阅 PropertyChanged
事件。由于您的工具可能会抱怨 class 尚未实现接口 INotifyPropertyChanged
,因此您可以使用辅助方法 Post.Cast<SourceType, TargetType>(SourceType)
.
因此,如果您有一个 ProfileSelectorViewModel
类型的对象 obj
和一个处理更改的方法 OnSelectionChanged
,则订阅如下所示:
Post.Cast<ProfileSelectorViewModel,INotifyPropertyChanged>(obj).PropertyChanged += OnSelectionChanged;
详情见http://doc.postsharp.net/inotifypropertychanged-add#consuming。