如何添加按钮作为DrawingVisual的子控件

本文关键字:DrawingVisual 控件 按钮 何添加 添加 | 更新日期: 2023-09-27 18:15:10

我有一个继承自Canvas的DerivedCanvas类。我用它来绘制几个自定义绘图视觉效果,但不知道如何添加一个按钮对象作为DrawingVisual对象的子对象。下面是我在DrawingVisual中使用的代码,但在运行时没有显示任何内容。是否不可能添加按钮作为DrawingVisual的子控件,或者我只是做错了?

Button button = new Button { Content = "Exit", Width = 70, Height = 23 };
this.Children.Add(button);

如何添加按钮作为DrawingVisual的子控件

你确定你的代码被执行了吗?设置一个断点。而且"this"也可能不是指你想要的对象。

试试这个(假设dv是您的DrawingVisual对象,sizedv的大小):

foreach (var child in dv.Children)
{
    var element = child as UIElement;
    if (element == null) continue;
    element.Arrange(new Rect(size));
}

1。添加try-catch来处理异常。2.我猜按钮已经创建并添加。但坐标超出了视线范围。您应该更改按钮的坐标并刷新。