我在 WPF 用户控件上创建了一个边框,并注册了 Touch Down 和 Mouse Left Button Down 事件。
<Border
TouchDown="Border_TouchDown_1"
MouseLeftButtonDown="Border_MouseLeftButtonDown_1">
<Label FontSize="28">Label</Label>
</Border>
在文件后面的代码中,我有以下事件处理程序:
private void Border_TouchDown_1(object sender, TouchEventArgs e)
{
e.Handled = true;
Result.Append("Border_TouchDown_1" + "\n");
LogText = Result.ToString();
RaisePropertyChange();
}
private void Border_MouseLeftButtonDown_1(object sender, MouseButtonEventArgs e)
{
Result.Append("Border_MouseLeftButtonDown_1" + "\n");
LogText = Result.ToString();
RaisePropertyChange();
}
在 Windows 8 中的触摸手势上,我看到两个事件处理程序都被触发,即使事件是在 Border_TouchDown_1 方法中处理的。在 Windows 7 中,我只看到调用了 Border_TouchDown_1 方法,这似乎是正确的,因为事件已被处理。
我猜微软简洁地决定触发这两个事件以使所有应用程序触摸感知这对于仅鼠标应用程序是可以的,但我的应用程序是触摸感知的,我想关闭此行为。
有没有内线的人???