Example #1
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();
        }