gpt4 book ai didi

c# - GetAdornerLayer 返回空

转载 作者:太空狗 更新时间:2023-10-29 21:23:04 24 4
gpt4 key购买 nike

我有问题

AdornerLayer AdornerLayer = AdornerLayer.GetAdornerLayer (layout);

此方法始终返回 null。

我做错了什么?

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();

Layout layout = new Layout();
layout.Background = Brushes.White;
layout.ClipToBounds = true;
layout.SnapsToDevicePixels = true;
layout.Width = 4965; layout.Height = 3515;

AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(layout);
adornerLayer.Add(new LayoutAdorner(layout));
}
}


public class Layout : Canvas
{
public Visual GetVisualChildAtPoint(Point point)
{
return VisualTreeHelper.HitTest(this, point).VisualHit as Visual;
}
}

public class LayoutAdorner : Adorner
{
public LayoutAdorner(UIElement adornedElement) : base(adornedElement) { }

protected override void OnRender(DrawingContext drawingContext)
{

}
}

最佳答案

在实际加载窗口并创建句柄之前,不会创建窗口的 AdornerLayer

您可能需要延迟,而不是将它放在构造函数中,而是在加载窗口时添加装饰器。

关于c# - GetAdornerLayer 返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16307474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com