我使用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!");
}
答案 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>