我有一个自定义UserControl旨在允许个人选择图像的区域。我想让这个控件作为一个装饰器,可以在子图像上绘制区域选择控件。WPF中的子控件绘制父控件
但是,将图像添加为XAML中UserControl的子项时,会将图像呈现在我的UserControl中的Canvas中的椭圆对象的控点的顶部。
如何强制UserControl的内容在其子级之上进行渲染?
我有一个自定义UserControl旨在允许个人选择图像的区域。我想让这个控件作为一个装饰器,可以在子图像上绘制区域选择控件。WPF中的子控件绘制父控件
但是,将图像添加为XAML中UserControl的子项时,会将图像呈现在我的UserControl中的Canvas中的椭圆对象的控点的顶部。
如何强制UserControl的内容在其子级之上进行渲染?
听起来就像你想创建一个装饰者。看一看MSDN adorners overview
但是你总是可以设置Canvas.ZIndex附属属性,以便事物在渲染顺序上移动得更高。
最简单的方法是使用装饰者。很简单。
装饰者基本上是UIElement顶部的一个额外的UI层。
一个很好的比喻是咖啡桌或餐桌上有一块厚厚的玻璃。
如果你不在玻璃上画画,你只能看到桌子。一旦你画在玻璃上,它就会显示在桌子上方。
如果你想摆脱你绘制的东西,你只需删除玻璃或清理它。
我这个案子的玻璃将是一个装饰者。
谢谢!我会看看装饰者。至于你的第二个建议,我将如何去设置一个直接控制孩子的Z指数与实际上在控制内的元素? – user1227489