类似于Avalonia UI中的抽象Adorner(wpf)类?

3
如果在WPF中使用抽象类 Adorner 实现装饰元素,则如何在 Avalonia UI 中实现此对象?
    //code wpf
    public class ControlAdorner: Adorner
    {
      public ControlAdorner(UIElement adornedElement) : base(adornedElement)
      {
      }
    
      protected override void OnRender(DrawingContext drawingContext)
      {
        Rect adornedElementRect = new Rect(this.AdornedElement.DesiredSize);
        
        ... some code ...
      }
    }
1个回答

2

有一个AdornerLayer类,它具有附加属性AdornedElement。我还没有测试下面的代码,但它应该可以工作。

var adornerElement = yourElement;
var adornerLayer = AdornerLayer.GetAdornerLayer(adornerElement);

if (adornerLayer != null)
{
    var adornedElement = new Border();
    adornerLayer.Children.Add(adornedElement);
    AdornerLayer.SetAdornedElement(adornedElement, adornerElement);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接