作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Visual Studio 2010 中遇到了 WPF 设计时的奇怪行为:在创建 Popup 类的实例后,我将 Visual Studio 中的代码选项卡切换到另一个文件,Popup 仍然保留在屏幕上!
我有一段代码,它允许重现这个,但我不确定我是否应该把它粘贴在这里(它不是那么短),所以也许我会给它一个链接:here .
最佳答案
出于普通人无法理解的未知原因,微软决定这是 Popup
的默认行为。 WPF中的类。您必须自己实现“隐藏”逻辑。我建议处理 Window.LocationChanged
, Window.Activated
和 Window.Deactivated
包含弹出窗口的事件并自行关闭它。
编辑:为了澄清自己,您需要处理的窗口事件是包含弹出窗口 PlacementTarget
的窗口的事件。元素。通常,当您创建弹出窗口时,您将其设置为相对于应用程序窗口中包含的某些元素(类似于工具提示的工作方式)。如果这是你的情况,那么我的解决方案是正确的,但我忘了提到关于 PlacementTarget 的这一点。
关于WPF 弹出窗口在 Visual Studio 设计时永久显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13348330/
我是一名优秀的程序员,十分优秀!