static void OnEditStateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { MyEditContainer ec = (MyEditContainer)d; if (ec != null) { RoutedPropertyChangedEventArgs <bool> newEventArgs = new RoutedPropertyChangedEventArgs <bool>((bool)e.OldValue, (bool)e.NewValue); newEventArgs.RoutedEvent = EditStateChangedEvent; ec.RaiseEvent(newEventArgs); } }
//<SnippetOnStarClassHandler> protected override void OnPreviewMouseRightButtonDown(System.Windows.Input.MouseButtonEventArgs e) { e.Handled = true; //suppress the click event and other leftmousebuttondown responders MyEditContainer ec = (MyEditContainer)e.Source; if (ec.EditState) { ec.EditState = false; } else { ec.EditState = true; } base.OnPreviewMouseRightButtonDown(e); }