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);
 }
Exemple #4
0
 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);
        }
Exemple #7
0
        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();
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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();
 }