【问题标题】:How to add a Button as a child of a DrawingVisual如何将按钮添加为 DrawingVisual 的子项
【发布时间】:2011-11-20 02:43:03
【问题描述】:

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

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

【问题讨论】:

  • 我已经完成了这件事并让它发挥了作用。但是,我从 Control 派生,因此可能会有所作为。另外,您什么时候添加子控件?
  • 太棒了!至少我知道这是可能的!我在绘制父视觉之前和之后都添加了子控件,但都没有工作。可以分享你的代码吗?

标签: c# wpf


【解决方案1】:

你确定你的代码被执行了吗?放置断点。此外,“this”可能也不指您想要的对象..

【讨论】:

  • 我加了一个断点,代码被执行了。此外,“this”拥有的孩子数量增加了 1 个。 'this' 确实引用了我想要的对象,但屏幕上仍然没有绘制任何内容。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-13
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      • 2015-05-25
      • 1970-01-01
      相关资源
      最近更新 更多