繁体   English   中英

在WPF中为子控件绘制父控件

[英]Drawing a parent control over child controls in WPF

我有一个自定义的UserControl,旨在允许个人选择图像的区域。 我希望此控件充当装饰器,可以在子图像的顶部绘制区域选择手柄。

但是,在XAML中将图像添加为UserControl的子代会在手柄的TOP上渲染图像,这些手柄是UserControl内部Canvas中的Ellipse对象。

如何强制UserControl的内容呈现在其子控件的顶部?

听起来您正在尝试创建装饰器。 看看MSDN装饰者概述

但是,您始终可以只设置Canvas.ZIndex附加属性,以使事物在渲染顺序上更高。

最简单的方法是使用Adorner。 做起来很简单。

从本质上讲,Adorner是UIElement之上的额外ui层。

一个很好的类比是咖啡桌或餐桌,上面放着一块厚玻璃。

如果您不在玻璃板上画画,那么您所看到的就是桌子。 一旦您在玻璃上画画,它就会显示在桌子上方。

如果您想摆脱所画的内容,只需取下玻璃杯或清洁玻璃即可。

在这种情况下,玻璃杯将是一个Adorner。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM