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);
}
}