private static void OnSelectedItemsChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (!DesignTimeHelper.GetIsInDesignMode()) { if (e.OldValue != null) { //Probabilmente c'è un handler da sganciare var handler = d.GetValue(selectionHandlerProperty) as SelectionHandler; if (handler != null) { handler.StopSync(); d.ClearValue(selectionHandlerProperty); } } if (e.NewValue != null) { //C'è un handler da agganciare var handler = new SelectionHandler(); handler.SartSync(d.CastTo <ListView>(), e.NewValue.CastTo <IList>()); d.SetValue(selectionHandlerProperty, handler); } } }
static void OnContentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var isDesignMode = DesignTimeHelper.GetIsInDesignMode(); if (!isDesignMode) { Ensure.That(d.GetType()).Is <ItemsControl>(); d.CastTo <ItemsControl>().Loaded += onLoaded; } }
private static void OnSelectedItemPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var instance = d.CastTo <EnhancedSelectionBehavior>(); if (instance == null) { return; } if (instance.mSelectionChangedScope.IsInScope) { return; } using (instance.mSelectionChangedScope.Enter()) { instance.AssociatedObject.SelectedItem = e.NewValue; } }
private static void OnSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { d.CastTo <BindablePasswordBehavior>()?.SetPasswordView(e.NewValue as string); }