private static void OnIsSelectedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var item = d as RadialMenuItem; var newValue = (bool)e.NewValue; var oldValue = (bool)e.OldValue; if (item.IsInternalPropertyChange) { return; } if (oldValue == newValue || !RadialMenuModel.CanChangeSelection(item, newValue)) { item.ChangePropertyInternally(RadialMenuItem.IsSelectedProperty, oldValue); } if (item.Owner != null) { item.Owner.OnSelectionChanged(item); var contentSegment = item.Owner.GetContentSegment(item); if (contentSegment != null) { var radialMenuItemControl = contentSegment.Visual as RadialMenuItemControl; if (radialMenuItemControl != null) { var peer = FrameworkElementAutomationPeer.CreatePeerForElement(radialMenuItemControl) as RadialMenuItemControlAutomationPeer; if (peer != null) { peer.RaiseToggleStatePropertyChangedEvent((bool)e.OldValue, (bool)e.NewValue); } } } } }
private static void OnIsSelectedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var item = d as RadialMenuItem; var newValue = (bool)e.NewValue; var oldValue = (bool)e.OldValue; if (item.IsInternalPropertyChange) { return; } if (oldValue == newValue || !RadialMenuModel.CanChangeSelection(item, newValue)) { item.ChangePropertyInternally(RadialMenuItem.IsSelectedProperty, oldValue); } if (item.Owner != null) { item.Owner.OnSelectionChanged(item); } }