public override void ShowVisual(RadialSegment segment, double startAngle) { if (segment != null && segment.LayoutSlot != RadialLayoutSlot.Invalid) { DecorationItemButton stateButton = new DecorationItemButton(); stateButton.Segment = segment; stateButton.LayoutSlot.OuterRadius = this.Owner.outerRadiusCache; segment.Visual = stateButton; this.Visual.Children.Add(stateButton); } }
public override void UpdateVisual(RadialSegment segment, double startAngle) { if (segment != null && segment.LayoutSlot != RadialLayoutSlot.Invalid) { DecorationItemButton stateButton = segment.Visual as DecorationItemButton; if (stateButton != null) { stateButton.LayoutSlot.OuterRadius = this.Owner.outerRadiusCache; stateButton.Update(); } } }
private static void OnArrowThicknessFactorPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { DecorationItemButton stateButton = (DecorationItemButton)d; double factor = (double)e.NewValue; double clampedFactor = factor; if (clampedFactor < 0) { clampedFactor = 0; } else if (clampedFactor > 1) { clampedFactor = 1; } stateButton.arrowThicknessFactorCache = clampedFactor; stateButton.UpdateGeometry(); }
public VisualStateService(RadRadialMenu owner) { this.owner = owner; this.hoverVisual = new DecorationItemButton(); }