【问题标题】:Drawing a parent control over child controls in WPF在 WPF 中为子控件绘制父控件
【发布时间】:2014-02-28 19:38:44
【问题描述】:

我有一个自定义的用户控件,旨在允许个人选择图像的一个区域。我想让这个控件充当装饰器,可以在子图像顶部绘制区域选择句柄。

但是,在 XAML 中将图像添加为 UserControl 的子项会在句柄的 TOP 上呈现图像,这些句柄是我的 UserControl 内 Canvas 中的 Ellipse 对象。

如何强制 UserControl 的内容呈现在其子项之上?

【问题讨论】:

    标签: c# wpf xaml user-controls


    【解决方案1】:

    听起来您正在尝试创建一个装饰器。看看MSDN adorners overview

    但是,您始终可以只设置 Canvas.ZIndex 附加属性,以便在渲染顺序上移到更高的位置。

    【讨论】:

    • 谢谢!我会研究装饰器。至于您的第二个建议,我将如何为控件的直接子级与实际在控件内的元素设置 Z-Index?
    【解决方案2】:

    最简单的方法是使用装饰器。做起来很简单。

    Adorner 基本上是在 UIElement 之上的一个额外的 ui 层。

    一个很好的类比是咖啡桌或餐桌,顶部有一块厚玻璃。

    如果你不在玻璃上画画,你看到的只是桌子。一旦你在玻璃上画画,它就会显示在桌子的顶部。

    如果你想摆脱你画的东西,你只需取下玻璃或清洁它。

    我这个案子的玻璃是装饰品。

    【讨论】:

      猜你喜欢
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      • 2015-06-11
      • 1970-01-01
      • 2023-01-03
      相关资源
      最近更新 更多