Microsoft 开发人员网络 > 论坛主页 > Windows Presentation Foundation (WPF) > What's wrong with the left mouse button in beta2?
提出问题提出问题
 

已答复What's wrong with the left mouse button in beta2?

  • 2006年5月25日 19:42Konstantin Gonikman版主用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     

    That's weird, MouseDown and MouseLeftButtonDown are not working here. Left-clicking on the button, test1 and test2 event handlers are not hit. There's no problem with the right mouse button.

    <Button  MouseDown="test1" MouseLeftButtonDown="test2" MouseRightButtonDown="test3" />

    A bug?.. Can somebody repro this?

答案

全部回复

  • 2006年5月25日 20:16csammis 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     
    Button elements capture the left mouse down event via the Click event  (or right mouse down, if the system is configured for "right button" clicks), which is probably what's stopping your explicit MouseDown handlers.
  • 2006年5月25日 20:20Konstantin Gonikman版主用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     
    Click event works as expected. But why should Click event hinder a MouseDown event?
  • 2006年5月25日 20:23Konstantin Gonikman版主用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     

    Never mind, I've found an explanation on msdn:

     

    Working Around Event Suppression by Controls

    One scenario where preview events are used is for input events and controls. Sometimes, the creator of the control might wish to suppress a certain event from originating from their control, perhaps to substitute a component-defined event that carries more information or implies a more specific behavior. For instance, a Windows Presentation Foundation (formerly code-named "Avalon") Button suppresses normal MouseLeftButtonDown bubbling events in favor of a Click event. If other elements towards the root of your application still wanted an opportunity that event, one alternative is to handle even routed events. But a simpler way is to change the routing direction you handle to be the Preview equivalent PreviewMouseLeftButtonDown.

  • 2006年5月25日 20:27LesterLobo - MSFT版主用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复
    try the PreviewMouseLeftButtonDown