您可以订阅PreviewMouseDown和PreviewTouchDown。
页面.xaml
<Button PreviewMouseDown="Button_PreviewMouseDown"
PreviewTouchDown="Button_PreviewTouchDown" />
Run Code Online (Sandbox Code Playgroud)
页面.xaml.cs
private void Button_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
MessageBox.Show("Mouse was used.");
}
private void Button_PreviewTouchDown(object sender, TouchEventArgs e)
{
MessageBox.Show("Touchscreen was used.");
}
Run Code Online (Sandbox Code Playgroud)
我不相信您将能够在实际的点击事件中访问任何一个的 eventargs。
如果你需要在那里执行工作而不是预览事件,我建议在预览事件中设置一个实例变量,这样当你到达点击事件时你就知道你来自哪里。