dotnet 读 WPF 源代码 Popup 的 StaysOpen 为 false 将会吃掉其他窗口的首次激活 您所在的位置:网站首页 巫师三不识别手柄 dotnet 读 WPF 源代码 Popup 的 StaysOpen 为 false 将会吃掉其他窗口的首次激活

dotnet 读 WPF 源代码 Popup 的 StaysOpen 为 false 将会吃掉其他窗口的首次激活

2024-06-13 17:30| 来源: 网络整理| 查看: 265

在 WPF 中,使用 Popup 控件,可以设置 StaysOpen 属性来控制是否在 Popup 失去焦点时,也就是点击界面空白处,自动收起 Popup 控件。但如果有两个窗口,在设置 Popup 控件的 StaysOpen 属性为 false 那么将会吃掉在点击其他窗口的第一次交互,如鼠标点击或触摸点击时将不会让本进程的其他窗口 Activate 激活

在 WPF 中,通过 Popup 控件可以方便设置浮出的窗口,本质上 Popup 控件也是一个窗口,只是这是一个特殊的窗口。但是在使用 Popup 控件时,如果通过设置 Popup 控件的 StaysOpen 属性为 false 的方式让 Popup 在点击非 Popup 范围内,包括点击窗口其他空白部分,或者点击其他应用程序或桌面等,自动收起。那么 Popup 将会在点击本进程内的其他窗口时,点击的交互被 Popup 吃掉,而让其他窗口收不到一次交互

行为如下:

假定有两个窗口,其中一个是 MainWindows 主窗口,另一个是用来承载 Popup 的 Window1 窗口。 其中 Windows1 窗口有一个按钮,点击按钮时将会弹出一个 Popup 控件,代码过于简单,我就不将所有代码全部写在博客。所有代码放在 github 和 gitee 欢迎小伙伴访问

以下是 Windows1 的界面,有一个按钮,和一个 Popup 控件,点击按钮自动弹出 Popup 控件

The popup

以下是 Windows1 点击按钮的代码

private void OpenPopupButton_OnClick(object sender, RoutedEventArgs e) { Popu


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有