跟踪PropertyChanged事件

时间:2013-10-24 11:34:55

标签: wpf c#-4.0

我的视图很少,如下所示:

<c:DropTargetContentControl  Content="{Binding FavoriteTool1, Mode=TwoWay}" ContentTemplate="{StaticResource FavoriteTemplate}" Margin="5,0"/>
<c:DropTargetContentControl  Content="{Binding FavoriteTool2, Mode=TwoWay}" ContentTemplate="{StaticResource FavoriteTemplate}" Margin="5,0"/>
<c:DropTargetContentControl  Content="{Binding FavoriteTool3, Mode=TwoWay}" ContentTemplate="{StaticResource FavoriteTemplate}" Margin="5,0"/>

FavouriteTool1, FavouriteTool2, FavouriteTool3是viewmodel中的属性。

PropertyChanged发生任何更改时,这些属性会引发DropTargetContentControl事件。当我从ViewModel设置一些值时,也会引发这些PropertyChanged。由于PropertyChanged中的更改而导致DropTargetContentControl被提升,我只需要调用一些函数。

有任何建议我如何跟踪propertychanged事件?我无法灵活地在视图级别上更改任何内容。

1 个答案:

答案 0 :(得分:0)

如果您有一个实现INotifyPropertyChanged接口的类,那么您只需将处理程序附加到该类中实现的INotifyPropertyChanged.PropertyChanged事件:

YourViewModel.PropertyChanged += YourViewModel_PropertyChanged;

...

private void YourViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
    // e.PropertyName holds the name of the changed property
}