如果我处理内容的mousedown,按钮不会单击

时间:2010-06-18 08:34:27

标签: wpf

我遇到这种情况:

<Button MouseDown="Button_MouseDown" Click="Button_Click">
    <TextBlock MouseDown="Inner_MouseDown">Button</TextBlock>
</Button>

方法Inner_MouseDown完全为空。 .Handled未设置为true。 但是没有执行Button_Click。如果我删除MouseDown =“Inner_MouseDown”,按钮点击没有问题。任何人都可以帮我找出为什么处理没有逻辑的MouseDown会阻止点击按钮?

非常感谢。

的Andrej

2 个答案:

答案 0 :(得分:1)

好的,我发现了一些重要的东西。在我将断点添加到Inner_MouseDown方法之前,它似乎运行良好。如果调试器停止,则不会引发Click事件。如果我只是删除断点,它就可以了。如果我在Inner_MouseDown方法中显示messagebox,则会出现同样的问题。如果我只是增加一些临时变量,那么效果很好。

但这回答了我的问题,为什么即使它应该也不起作用。实际上它有效,问题就在其他地方。

答案 1 :(得分:0)

我的猜测:可能是因为Click == MouseDown + MouseUp在一小段时间内,当你在MouseDown之后中断时,MouseUp直到经过时间间隔后才会被处理。