private static void ShowMouseOverAdorner_Element_PreviewMouseMove(object sender, MouseEventArgs e) { var Element = sender as FrameworkElement; if (Element == null) return; var AdornerLayer = InitializeAdornerLayerCache(Element); if (AdornerLayer == null) return; var Adorner = GetMouseOverAdorner(Element); if (Adorner == null) { Adorner = new RectangleAdorner(Element) { IsHitTestVisible = false, Brush = GetMouseOverAdornerBrush(Element), Pen = GetMouseOverAdornerPen(Element) }; SetMouseOverAdorner(Element, Adorner); } if (Adorner.Parent != AdornerLayer) AdornerLayer.Add(Adorner); }
private static void SetMouseOverAdorner(FrameworkElement element, RectangleAdorner value) { element.SetValue(MouseOverAdornerProperty, value); }