【问题标题】:How to capture the mousedown event for a specific control in wpf and release anywhere in the window?如何捕获 wpf 中特定控件的 mousedown 事件并在窗口中的任何位置释放?
【发布时间】:2012-11-08 20:17:38
【问题描述】:

基本上我有以下xaml:

<Window ...>
   <StackPanel>
       <my:UserControl> ... </my:UserControl>
       <my:UserControl> ... </my:UserControl>
   </StackPanel>
</Window>
  1. 如果我的鼠标在我想要捕获 X/Y 坐标的范围内单击鼠标左键。
  2. 只要鼠标在窗口内,我想捕获当前的 MouseX/MouseY。
  3. 我想在每次按住左键单击鼠标移动时触发的事件中使用该捕获。

有点像拖放,但不一定是拖放......如果使用拖放可以解决这个问题,那很好,我会使用它。但是,我不确定从哪里真正开始。

【问题讨论】:

  • 标题与内容不匹配。在 Window 内还是通过特定控件?

标签: wpf drag-and-drop mouseevent


【解决方案1】:

在窗口的 Mousemove 事件上设置一个处理程序,从 mouseevent 参数中检查鼠标按钮状态。还有一种方法可以检查某个元素是否被击中,f.i.您的用户控件。你想在发布时做什么?根据您想要执行的操作,您可以使用事件触发器。然而,这些往往在使用上受到限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    • 2014-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    相关资源
    最近更新 更多