System.Windows.Data.CollectionViewNode.OnSourceChanged C# (CSharp) Method

OnSourceChanged() protected method

protected OnSourceChanged ( object oldSource, object newSource ) : void
oldSource object
newSource object
return void
		protected override void OnSourceChanged (object oldSource, object newSource)
		{
			CollectionViewSource source;
			ICollectionView view;
			base.OnSourceChanged (oldSource, newSource);

			source = oldSource as CollectionViewSource;
			view = oldSource as ICollectionView;
			if (source != null) {
				NativeMethods.dependency_object_remove_property_change_handler (source.native, CollectionViewSource.ViewProperty.Native, ViewChangedHandler);
				DisconnectViewHandlers (source.View);
			} else if (view != null) {
				DisconnectViewHandlers (view);
			}

			source = newSource as CollectionViewSource;
			view = newSource as ICollectionView;
			if (source != null) {
				NativeMethods.dependency_object_add_property_change_handler (source.native, CollectionViewSource.ViewProperty.Native, ViewChangedHandler, IntPtr.Zero);
				ConnectViewHandlers (source.View);
			} else if (view != null) {
				ConnectViewHandlers (view);
			}
		}