private static void mediaStateCollectionViewChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (e.NewValue != null) { MediaGridItemView view = (MediaGridItemView)d; if (view.SelectableMediaItem != null) { view.setExtraInfo(); view.setInfoIcons(view.SelectableMediaItem.Item); } } }
private static void selectableMediaItemChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { MediaGridItemView view = d as MediaGridItemView; if (e.NewValue != null) { MediaItem item = (e.NewValue as SelectableMediaItem).Item; // make sure the propertychanged even is removed in case the mediaitem is not garbage collected // to prevent it being attached multiple times WeakEventManager <MediaItem, PropertyChangedEventArgs> .RemoveHandler(item, "PropertyChanged", view.mediaItem_PropertyChanged); WeakEventManager <MediaItem, PropertyChangedEventArgs> .AddHandler(item, "PropertyChanged", view.mediaItem_PropertyChanged); view.setInfoIcons(item); view.setExtraInfo(); } }