internal override void OnUpdateView(DataPoint dataPoint) { DataPointView view = dataPoint.View; if (view == null) { return; } FrameworkElement frameworkElement = view.MarkerView; bool flag = this.IsMarkerVisible(dataPoint) && ValueHelper.CanGraph(view.AnchorPoint.X) && ValueHelper.CanGraph(view.AnchorPoint.Y); if (flag && frameworkElement == null) { this.OnCreateView(dataPoint); frameworkElement = view.MarkerView; } else if (!flag && frameworkElement != null) { this.OnRemoveView(dataPoint); frameworkElement = (FrameworkElement)null; } if (frameworkElement == null) { return; } AnchorPanel.SetHideOverlapped((UIElement)frameworkElement, this.CanHideMarker(dataPoint)); AnchorPanel.SetMaximumMovingDistance((UIElement)frameworkElement, 0.0); AnchorPanel.SetAnchorPoint((UIElement)frameworkElement, view.AnchorPoint); AnchorPanel.SetContentPosition((UIElement)frameworkElement, ContentPositions.MiddleCenter); }
internal static void SetLabelMaxMovingDistance(XYChartArea chartArea, UIElement element) { double maximumMovingDistance = 0.0; if (chartArea.Orientation == Orientation.Horizontal) { maximumMovingDistance = 40.0; } AnchorPanel.SetMaximumMovingDistance(element, maximumMovingDistance); }
internal override void OnUpdateView(DataPoint dataPoint) { base.OnUpdateView(dataPoint); if (dataPoint.View == null || dataPoint.View.LabelView == null) { return; } AnchorPanel.SetValidContentPositions((UIElement)dataPoint.View.LabelView, ContentPositions.InsideCenter | ContentPositions.InsideBase | ContentPositions.InsideEnd | ContentPositions.OutsideBase | ContentPositions.OutsideEnd); ColumnSeriesLabelPresenter.SetLabelMaxMovingDistance((XYChartArea)this.SeriesPresenter.Series.ChartArea, (UIElement)dataPoint.View.LabelView); }
public AnchoredElement(UIElement element, Size arrangeSize) { this.UIElement = element; this.ArrangeSize = arrangeSize; this.AnchorPoint = AnchorPanel.GetAnchorPoint(element); this.AnchorMargin = AnchorPanel.GetAnchorMargin(element); this.AnchorRect = AnchorPanel.GetAnchorRect(element); this.AnchorRectOrientation = AnchorPanel.GetAnchorRectOrientation(element); this.ContentPosition = AnchorPanel.GetContentPosition(element); this.ValidContentPositions = AnchorPanel.GetValidContentPositions(element); this.MinimumMovingDistance = AnchorPanel.GetMinimumMovingDistance(element); this.MaximumMovingDistance = AnchorPanel.GetMaximumMovingDistance(element); this.MaximumMovingDistance += this.AnchorMargin; this.OutsidePlacement = AnchorPanel.GetOutsidePlacement(element); }
internal override void BindViewToDataPoint(DataPoint dataPoint, FrameworkElement view, string valueName) { base.BindViewToDataPoint(dataPoint, view, valueName); LabelControl labelControl = view as LabelControl; if (labelControl == null) { return; } ColumnDataPoint columnDataPoint = dataPoint as ColumnDataPoint; if (columnDataPoint == null || !(valueName == "LabelPosition") && valueName != null) { return; } ContentPositions alignment; switch (columnDataPoint.LabelPosition) { case ColumnLabelPosition.InsideCenter: alignment = ContentPositions.InsideCenter; break; case ColumnLabelPosition.InsideBase: alignment = ContentPositions.InsideBase; break; case ColumnLabelPosition.InsideEnd: alignment = ContentPositions.InsideEnd; break; case ColumnLabelPosition.OutsideBase: alignment = ContentPositions.OutsideBase; break; case ColumnLabelPosition.OutsideEnd: alignment = ContentPositions.OutsideEnd; break; default: throw new ArgumentOutOfRangeException("value"); } AnchorPanel.SetContentPosition((UIElement)labelControl, alignment); }
internal override void OnUpdateView(DataPoint dataPoint) { base.OnUpdateView(dataPoint); if (dataPoint.View == null || dataPoint.View.LabelView == null) { return; } StackedColumnSeriesPresenter columnSeriesPresenter = this.SeriesPresenter as StackedColumnSeriesPresenter; ContentPositions validContentPositions = ContentPositions.InsideCenter; if (columnSeriesPresenter.IsStackTopSeries() && !columnSeriesPresenter.IsHundredPercent()) { validContentPositions |= ContentPositions.OutsideEnd; } AnchorPanel.SetValidContentPositions((UIElement)dataPoint.View.LabelView, validContentPositions); AnchorPanel.SetContentPosition((UIElement)dataPoint.View.LabelView, ContentPositions.InsideCenter); AnchorPanel.SetAnchorMargin((UIElement)dataPoint.View.LabelView, 0.0); ColumnSeriesLabelPresenter.SetLabelMaxMovingDistance((XYChartArea)this.SeriesPresenter.Series.ChartArea, (UIElement)dataPoint.View.LabelView); }
internal override void OnUpdateView(DataPoint dataPoint) { if (dataPoint.View == null) { return; } ContentControl contentControl = dataPoint.View.LabelView; if (this.IsDataPointLabelVisible(dataPoint)) { if (contentControl == null) { this.OnCreateView(dataPoint); contentControl = dataPoint.View.LabelView; } } else if (contentControl != null) { this.OnRemoveView(dataPoint); contentControl = (ContentControl)null; } if (contentControl == null) { return; } AnchorPanel.SetAnchorPoint((UIElement)contentControl, dataPoint.View.AnchorPoint); AnchorPanel.SetValidContentPositions((UIElement)contentControl, ContentPositions.All); AnchorPanel.SetAnchorRectOrientation((UIElement)contentControl, dataPoint.View.AnchorRectOrientation); AnchorPanel.SetAnchorRect((UIElement)contentControl, dataPoint.View.AnchorRect); AnchorPanel.SetOutsidePlacement((UIElement)contentControl, OutsidePlacement.Disallowed); AnchorPanel.SetMaximumMovingDistance((UIElement)contentControl, 0.0); Size desiredSize = contentControl.DesiredSize; if (desiredSize.Width > 0.0 && desiredSize.Height > 0.0) { return; } ((AnchorPanel)this.LabelsPanel).Invalidate(); }
internal override void BindViewToDataPoint(DataPoint dataPoint, FrameworkElement view, string valueName) { base.BindViewToDataPoint(dataPoint, view, valueName); LabelControl labelControl = view as LabelControl; if (labelControl == null) { return; } PointDataPoint pointDataPoint = dataPoint as PointDataPoint; if (pointDataPoint == null || !(valueName == "LabelPosition") && valueName != null) { return; } ContentPositions alignment; switch (pointDataPoint.LabelPosition) { case PointLabelPosition.Auto: alignment = this.GetAutomaticLabelPosition(dataPoint); break; case PointLabelPosition.TopLeft: alignment = ContentPositions.TopLeft; break; case PointLabelPosition.TopCenter: alignment = ContentPositions.TopCenter; break; case PointLabelPosition.TopRight: alignment = ContentPositions.TopRight; break; case PointLabelPosition.MiddleLeft: alignment = ContentPositions.MiddleLeft; break; case PointLabelPosition.MiddleCenter: alignment = ContentPositions.MiddleCenter; break; case PointLabelPosition.MiddleRight: alignment = ContentPositions.MiddleRight; break; case PointLabelPosition.BottomLeft: alignment = ContentPositions.BottomLeft; break; case PointLabelPosition.BottomCenter: alignment = ContentPositions.BottomCenter; break; case PointLabelPosition.BottomRight: alignment = ContentPositions.BottomRight; break; default: throw new ArgumentOutOfRangeException("value"); } AnchorPanel.SetContentPosition((UIElement)labelControl, alignment); }
internal virtual void BindViewToDataPoint(DataPoint dataPoint, FrameworkElement view, string valueName) { LabelControl labelControl = view as LabelControl; if (labelControl == null) { return; } IAppearanceProvider appearanceProvider = (IAppearanceProvider)dataPoint; bool flag = false; if (appearanceProvider == null) { return; } if (valueName == "ActualLabelContent" || valueName == null) { flag = flag || labelControl.Content != dataPoint.ActualLabelContent; labelControl.Content = dataPoint.ActualLabelContent; } if (valueName == "LabelRotation" || valueName == null) { flag = flag || labelControl.RotationAngle != dataPoint.LabelRotation; labelControl.RotationAngle = dataPoint.LabelRotation; } if (valueName == "LabelStyle" || valueName == null) { flag = flag || labelControl.Style != dataPoint.LabelStyle; labelControl.Style = dataPoint.LabelStyle; } if (valueName == "ActualLabelMargin" || valueName == null) { AnchorPanel.SetAnchorMargin((UIElement)labelControl, dataPoint.ActualLabelMargin); } if (valueName == "ActualEffect" || valueName == null) { if (this.SeriesPresenter.Series.IsDataPointAppearsUnselected(dataPoint)) { labelControl.UpdateActuialEffect(dataPoint.ActualEffect); } else { labelControl.UpdateActuialEffect((Effect)null); } } if (valueName == "ActualOpacity" || valueName == null) { if (this.SeriesPresenter.Series.IsDataPointAppearsUnselected(dataPoint)) { labelControl.UpdateActuialOpacity(new double?(dataPoint.ActualOpacity)); } else { labelControl.UpdateActuialOpacity(new double?()); } } if (!flag) { return; } ((AnchorPanel)this.LabelsPanel).Invalidate(); }
public void Before() { _anchorPanel = new AnchorPanel(); _testUiElement1 = new UIElement(); }