MouseUp事件在左键单击时不起作用

时间:2017-02-04 10:32:46

标签: c# wpf xaml mouseup

我使用Windows Presentation Foundation(WPF)制作GUI。当我鼠标单击一个按钮(左或右)时,我想要一个消息框显示。到目前为止,我已经设法从教程中做了一个示例,但它仅在我右键单击时才有效,当左键单击按钮。我在代码中看不到任何内容,这会阻止左键单击工作,所以我希望你能帮助我。

XAML代码

<Grid>
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="72">
        Hello, WPF!
    </TextBlock>

    <!-- This button shuld activate the even MyButton_MouseUp -->
    <Button Margin="200,250,200,20" Name="MyButton"  MouseUp="MyButton_MouseUp">
        Test
    </Button>
</Grid>

C#代码

// This only works on right-click
private void MyButton_MouseUp(object sender, MouseButtonEventArgs e)
{
    MessageBox.Show("Hello world!");
}

2 个答案:

答案 0 :(得分:3)

您可以订阅PreviewMouseUp隧道活动而不是MouseUp

<Button Margin="200,250,200,20" Name="MyButton"  PreviewMouseUp="MyButton_MouseUp" />

{{1>}的路由策略隧道,即它会低于PreviewMouseUp层次结构,因此{{3在Tunnel events之前触发。

答案 1 :(得分:0)

除了S. Akbari的帖子之外,这篇文章值得一读,以便了解为什么右键单击有效,左键单击不... < / p>

How to use mouseDown and mouseUp on <button/>