鼠标输入事件的奇怪行为

本文关键字:输入 入事件 鼠标 | 更新日期: 2023-09-27 18:31:27

我正在开发一个Windows Phone 8 XAML应用程序。

我为 XAML 页中的多个对象定义了 MouseEnter 事件。(例如两个矩形)。触发这些对象的 MouseEnter 事件后,我按下同一页面上的按钮。按钮按下不仅会触发其自身的点击事件。它还触发最后一个输入的矩形的鼠标输入事件。

这个问题

可以用一个只有两个矩形和一个按钮的新项目重现。此行为并不总是出现,但在触发矩形的 MouseEnter 事件几次后可以观察到。

我的 XAML 对象如下所示。

<Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="100"
           Margin="102,306,0,0" Stroke="Black" 
           VerticalAlignment="Top" Width="100" 
           MouseEnter="Rectangle_MouseEnter"/>
<Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="100" 
           Margin="314,306,0,0" Stroke="Black" 
           VerticalAlignment="Top" Width="100"
           MouseEnter="Rectangle_MouseEnter"/>
<Button Content="Button" HorizontalAlignment="Left"
        Margin="256,481,0,0" VerticalAlignment="Top" Click="Button_Click"/>

背后的代码看起来像这样。

private void Rectangle_MouseEnter(object sender, 
                                  System.Windows.Input.MouseEventArgs e)
{
    Debug.WriteLine("Rectangle_MouseEnter");
}
private void Button_Click(object sender, RoutedEventArgs e)
{
    Debug.WriteLine("Button_Click");
}

鼠标输入事件的奇怪行为

如果我

记得的话,在Windows pone和Windows 8应用程序中,最好使用点击事件而不是鼠标事件。这可能是问题所在。看看这个链接:

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.uielement.tapped.aspx