internal override void OnRemoveView(DataPoint dataPoint) { FrameworkElement element = SeriesVisualStatePresenter.GetDataPointView(dataPoint); if (!(element is Control) || DataPoint.GetDataPoint((DependencyObject)element) != dataPoint) { return; } element.MouseEnter -= (MouseEventHandler)((s, e) => VisualStateManager.GoToState((FrameworkElement)(element as Control), "MouseOver", true)); element.MouseLeave -= (MouseEventHandler)((s, e) => VisualStateManager.GoToState((FrameworkElement)(element as Control), "Normal", true)); }
internal static DataPoint GetDataPointFromSelectedElement(DependencyObject element, DependencyObject rootElement) { DataPoint dataPoint = (DataPoint)null; DependencyObject dependencyObject = element; if (dependencyObject != null) { do { dataPoint = DataPoint.GetDataPoint(dependencyObject); dependencyObject = VisualTreeHelper.GetParent(dependencyObject); }while (dataPoint == null && dependencyObject != null && dependencyObject != rootElement); } return(dataPoint); }
internal override void OnUpdateView(DataPoint dataPoint) { FrameworkElement element = SeriesVisualStatePresenter.GetDataPointView(dataPoint); if (element != null && DataPoint.GetDataPoint((DependencyObject)element) != dataPoint) { DataPoint.SetDataPoint((DependencyObject)element, dataPoint); if (element is Control) { element.MouseEnter += (MouseEventHandler)((s, e) => VisualStateManager.GoToState((FrameworkElement)(element as Control), "MouseOver", true)); element.MouseLeave += (MouseEventHandler)((s, e) => VisualStateManager.GoToState((FrameworkElement)(element as Control), "Normal", true)); } } FrameworkElement frameworkElement = dataPoint.View == null || dataPoint.View.LabelView == null ? (FrameworkElement)null : (FrameworkElement)dataPoint.View.LabelView; if (frameworkElement == null || DataPoint.GetDataPoint((DependencyObject)frameworkElement) == dataPoint) { return; } DataPoint.SetDataPoint((DependencyObject)frameworkElement, dataPoint); }