public static Visual GetAdornedElement(Visual adorner) { return adorner.GetValue(AdornedElementProperty); }
private void UpdateAdornedElement(Visual adorner, Visual adorned) { var info = adorner.GetValue(s_adornedElementInfoProperty); if (info != null) { info.Subscription.Dispose(); if (adorned == null) { adorner.ClearValue(s_adornedElementInfoProperty); } } if (adorned != null) { if (info == null) { info = new AdornedElementInfo(); adorner.SetValue(s_adornedElementInfoProperty, info); } info.Subscription = _tracker.Track(adorned).Subscribe(x => { info.Bounds = x; InvalidateArrange(); }); } }
/// <summary> /// Gets the transformed bounds of the visual. /// </summary> /// <param name="visual">The visual.</param> /// <returns>The transformed bounds.</returns> public static TransformedBounds GetTransformedBounds(Visual visual) => visual.GetValue(TransformedBoundsProperty);