internal override void OnUpdateView(DataPoint dataPoint)
        {
            base.OnUpdateView(dataPoint);
            DataPointView view = dataPoint.View;

            if (view == null || view.MarkerView == null)
            {
                return;
            }
            double        markerSize    = this.GetMarkerSize(dataPoint);
            MarkerControl markerControl = view.MarkerView as MarkerControl;

            if (markerControl != null)
            {
                markerControl.Width  = markerSize;
                markerControl.Height = markerSize;
            }
            Path path = view.MarkerView as Path;

            if (path != null)
            {
                path.Width  = markerSize;
                path.Height = markerSize;
                path.Data   = VisualUtilities.GetMarkerGeometry(dataPoint.MarkerType, new Size(markerSize, markerSize));
            }
            this.SeriesPresenter.UpdateDataPointZIndex(dataPoint);
            dataPoint.UpdateActualLabelMargin(markerSize);
            ((AnchorPanel)this.MarkersPanel).Invalidate();
        }
Esempio n. 2
0
        internal override void BindViewToDataPoint(DataPoint dataPoint, FrameworkElement view, string valueName)
        {
            MarkerControl markerControl = view as MarkerControl;

            if (markerControl != null)
            {
                IAppearanceProvider appearanceProvider = (IAppearanceProvider)dataPoint;
                if (appearanceProvider != null)
                {
                    if (valueName == "Fill" || valueName == null)
                    {
                        markerControl.Background = appearanceProvider.Fill;
                    }
                    if (valueName == "Stroke" || valueName == null)
                    {
                        markerControl.Stroke = appearanceProvider.Stroke;
                    }
                    if (valueName == "StrokeThickness" || valueName == null)
                    {
                        markerControl.StrokeThickness = appearanceProvider.StrokeThickness;
                    }
                    if (valueName == "MarkerType" || valueName == null)
                    {
                        markerControl.MarkerType = dataPoint.MarkerType;
                    }
                    if (valueName == "MarkerStyle" || valueName == null)
                    {
                        markerControl.Style = dataPoint.MarkerStyle;
                    }
                    if (valueName == "MarkerSize" || valueName == null)
                    {
                        double markerSize = this.GetMarkerSize(dataPoint);
                        markerControl.Width  = markerSize;
                        markerControl.Height = markerSize;
                    }
                    if (valueName == "Opacity" || valueName == "ActualOpacity" || valueName == null)
                    {
                        markerControl.Opacity = dataPoint.ActualOpacity;
                    }
                    if (valueName == "Effect" || valueName == "ActualEffect" || valueName == null)
                    {
                        markerControl.Effect = dataPoint.ActualEffect;
                    }
                    ((AnchorPanel)this.MarkersPanel).Invalidate();
                }
            }
            Path path = view as Path;

            if (path == null)
            {
                return;
            }
            IAppearanceProvider appearanceProvider1 = (IAppearanceProvider)dataPoint;

            if (appearanceProvider1 == null)
            {
                return;
            }
            if (valueName == "Fill" || valueName == null)
            {
                path.Fill = appearanceProvider1.Fill;
            }
            if (valueName == "Stroke" || valueName == null)
            {
                path.Stroke = appearanceProvider1.Stroke;
            }
            if (valueName == "StrokeThickness" || valueName == null)
            {
                path.StrokeThickness = appearanceProvider1.StrokeThickness;
            }
            if (valueName == "MarkerType" || valueName == "MarkerSize" || valueName == null)
            {
                double markerSize = this.GetMarkerSize(dataPoint);
                path.Width  = markerSize;
                path.Height = markerSize;
                path.Data   = VisualUtilities.GetMarkerGeometry(dataPoint.MarkerType, new Size(markerSize, markerSize));
            }
            if (valueName == "Opacity" || valueName == "ActualOpacity" || valueName == null)
            {
                path.Opacity = dataPoint.ActualOpacity;
            }
            if (!(valueName == "Effect") && !(valueName == "ActualEffect") && valueName != null)
            {
                return;
            }
            path.Effect = dataPoint.ActualEffect;
        }