首页 > Windows开发 > 详细

WPF ListView在ListViewItem的MouseDoubleClick弹出窗口的问题

时间:2020-05-26 14:08:45      阅读:43      评论:0      收藏:0      [点我收藏+]
原文:WPF ListView在ListViewItem的MouseDoubleClick弹出窗口的问题

WPF中在A窗口中的ListView在ListViewItem的MouseDoubleClick弹出新窗口B的时候,会出现弹出的窗口B并不在窗口A的上面,而是在B窗口显示出来后,A窗口会再次获得焦点并显示在B窗口的前面。
比如下面的在A窗口中定义的鼠标双击事件代码:

private void ListViewItem_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
    var winB = new WindowMaster();
    winB.Show();
}

在双击A窗口中的ListViewItem后,显示出来的winB一完成显示,立刻就会被窗口A挡住。
经过分析认为可能是在鼠标双击事件发生后,在窗口A中鼠标双击发生后,更多的鼠标点击事件被继续执行,导致窗口A被激活到前台。
经过验证,加入一行代码使鼠标点击不被后续处理后,问题解决,解决了问题的完整代码如下:

private void ListViewItem_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
    var winB = new WindowMaster();
    winB.Show();
    e.Handled = true;
}

代码e.Handled=true;阻止了鼠标点击事件后续相关事件的触发和处理。

达叔傻乐(darwin.zuo@163.com)

WPF ListView在ListViewItem的MouseDoubleClick弹出窗口的问题

原文:https://www.cnblogs.com/lonelyxmas/p/12964905.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!