当前位置:  开发笔记 > Android > 正文

为什么WPF弹出窗口在单击其背景区域时会关闭?

如何解决《为什么WPF弹出窗口在单击其背景区域时会关闭?》经验,为你挑选了2个好方法。

我有一个WPF Popup控件,其中包含一些编辑控件(列表框,文本框,复选框),其中包含相当多的空格.

Popup.StaysOpen设置为False,这是必需的.如果用户单击应用程序中的其他位置,则应视为编辑操作已中止,并且应关闭弹出窗口.

不幸的是,只要用户在弹出窗口的背景区域(编辑控件之间的空间)中单击,弹出窗口也会关闭.

我试过设置弹出窗口Focusable.我也试过设置弹出窗口的孩子(a Border)是可聚焦的.两个方面都没有运气.

此外,鼠标事件似乎通过弹出窗口.当我点击它时,弹出窗口下面的任何元素变得集中.尽管我PopupBorder(我正在点击)这两个IsHitTestVisibleFocusable设置为true.



1> Drew Noakes..:

最后,我发现以下工作.鉴于...


...我在调用后在构造函数中使用了这段代码InitializeComponent...

// Ensure that any mouse event that gets through to the
// popup is considered handled, otherwise the popup would close
_popup.MouseDown += (s, e) => e.Handled = true;



2> Robert Macne..:

在Popup和Border上忽略Focusable似乎很奇怪.当鼠标悬停在边框上时,我可以通过在触发器中更改StaysOpen来解决您的问题:


    
    
        
            
        
        
            
                
                
                
                        
        
    

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有