需要在WPF顶部显示用户控件

Posted

技术标签:

【中文标题】需要在WPF顶部显示用户控件【英文标题】:Need to show usercontrol on the top in WPF 【发布时间】:2013-11-18 11:47:41 【问题描述】:

我有一个用于某些目的的用户控件,它可以在屏幕上移动。实际上我正在使用 Leap Motion 创建一个应用程序。所以无论我在屏幕上移动我的数字,一个大的圆形光标都会相应地移动。但是在某些地方它会被切断,或者我会说它由于其他一些控制而被隐藏或重叠。所以我想知道,我怎样才能把它放在主窗口视图的顶部。是否可以使用装饰层?如果是,那么你能告诉我如何在 WPF 中做到这一点吗?

我在网上找到了几个例子,但他们正在使用 drwaingcontext 对象在装饰层上创建一个矩形或一些东西,但是我只需要在顶部显示我的用户控件。

请给我一些建议

感谢和问候, 维诺德

【问题讨论】:

【参考方案1】:

您不需要使用Adorner 层来简单地在其他控件之上显示UserControl...当然这取决于究竟是什么“重叠”或隐藏它。如果它们只是其他 UI 控件,那么您可以通过两种方式解决您的问题。

首先是简单地声明您的UserControl,您希望位于 XAML 底部的其他控件之上,例如。最后定义那个元素。

第二种解决方案是使用Panel.ZIndex Attached Property 将该元素置于所有其他元素之上:

<UserControl Panel.ZIndex="10" />

【讨论】:

感谢 Sheridan 的回复,但是我已经将它设置为 ZIndex 但仍然面临同样的隐藏问题就您的第一个建议而言,因此我无法将其设置为最后一个元素,因为我已经创建了一个行为对于按钮,它的名称是“ButtonHoverBehavior”,所以每当我们使用手指手势将光标悬停在按钮上时,它就会变得可见,基本上它是一个圆圈,并且在将鼠标悬停在按钮上时,它会使用行为可见。 @VinodBhatt 你解决过这个问题吗?我也面临同样的问题

以上是关于需要在WPF顶部显示用户控件的主要内容,如果未能解决你的问题,请参考以下文章

WPF:调整图像大小,但仅在用户调整UI大小时

在编辑时修改 WPF DataGrid 中的用户控件

WPF中如何设置PasswordBox控件显示原文?

WPF - 设置相对于用户控件的对话框窗口位置

在 WPF 的网格中显示对其他控件的控件

MFC对话框上的WPF用户控件每隔一段时间显示隐藏