【发布时间】:2010-10-06 20:51:47
【问题描述】:
我有一个使用透明窗口的 wpf 项目,我为我的对话框窗口和我的mainwindow 共享这个透明窗口样式。
在我关闭使用相同窗口样式的对话框窗口后,我的MainWindow 的DragMove() 事件出现错误。更奇怪的是,仅当我在MainWindow 上的Status Bar 中的标签上处理mouseleftbutton 事件时,才会发生此异常。如果我将标签换成按钮并将mouseleftbuttondown 替换为click 事件,则不会出现错误。
奇怪的是,弹出的对话窗口并没有实现dragmove,我也没有拖着我的mainwindow。在showdialog() 调用之后,我的代码执行返回到mainwindow 后,不知何故调用了dragmove。
目前对我来说一个简单的解决方法是将我的标签换成按钮并连接点击事件。
但是,我更感兴趣的是了解导致此问题的原因以及为什么单击事件有效但鼠标却惨遭失败。
我的“StatusBar”只是一个带有标签和其他堆栈面板(包含更多标签)的stackpanel。
以前有没有其他人解决过这个问题?我是否需要实现某种mouseclick 事件处理程序覆盖,以便我可以捕获并取消此异常的发生?
如果需要,可以提供重现代码。我在这里的dragmove 获得了足够多的点击量,所以我希望这对那里的人来说是一个简单的选择。
提前感谢您的帮助!
【问题讨论】:
标签: transparency mainwindow mouseleftbuttondown