WPF将MouseDown和TouchDown结合到同一事件中
我正在开发一款应用程序,将用于带触摸屏的笔记本电脑上。 因此,MouseDown事件基本上是在做同样的动作,应该怎么做。
我写的代码是这样的 –
XAML
C#
private void Button_OnMouseDown(object sender, MouseButtonEventArgs e) { Action(); } private void Button_OnTouchDown(object sender, TouchEventArgs e) { Action(); } private void Action()
有一个更好的方法吗? 任何反馈都表示赞赏。
使eventArgs更通用。 使用EventArgs
代替MouseEventArgs
和TouchEventArgs
。
private void Button_OnMouseDownOrTouchDown(object sender, EventArgs e) { Action(); }
现在你可以从XAML挂钩到同一个事件:
这就是代表们的反差异 。 阅读更多相关信息。
委托可以与具有类型参数的方法一起使用,该类型是委托签名参数类型的基本类型。 使用逆变,您可以使用一个事件处理程序而不是单独的处理程序。 例如,您可以创建一个接受EventArgs输入参数的事件处理程序,并将其与Button.MouseClick事件一起使用,该事件将MouseEventArgs类型作为参数发送,并且还使用发送KeyEventArgs参数的TextBox.KeyDown事件。