protected void FireChildrenChangedEvents() { if (!Microsoft.MediaCenter.UI.Application.IsApplicationThread) { Microsoft.MediaCenter.UI.Application.DeferredInvoke(_ => FireChildrenChangedEvents()); return; } // the only way to get the binder to update the underlying children is to // change the refrence to the property bound, otherwise the binder thinks // its all fine a dandy and will not update the children folderChildren.StopListeningForChanges(); folderChildren = folderChildren.Clone(); folderChildren.ListenForChanges(); FirePropertyChanged("Children"); FirePropertyChanged("SelectedChildIndex"); lock (watchLock) unwatchedCountCache = -1; FireWatchedChangedEvents(); if (this.displayPrefs != null) { UpdateActualThumbSize(); } }
protected virtual void FireChildrenChangedEvents() { if (!Microsoft.MediaCenter.UI.Application.IsApplicationThread) { Microsoft.MediaCenter.UI.Application.DeferredInvoke( _ => FireChildrenChangedEvents()); return; } // the only way to get the binder to update the underlying children is to // change the refrence to the property bound, otherwise the binder thinks // its all fine a dandy and will not update the children folderChildren.StopListeningForChanges(); folderChildren = folderChildren.Clone(); folderChildren.ListenForChanges(); ResetRunTime(); ResetMediaCount(); RefreshFolderOverviewCache(); FirePropertiesChanged("Children", "SelectedChildIndex", "Overview"); lock (watchLock) unwatchedCountCache = -1; FireWatchedChangedEvents(); if (this.displayPrefs != null) UpdateActualThumbSize(); }