Car*_*ine 5 c# wpf mouseevent touch
我正在开发一个应用程序,将用于带触摸屏的笔记本电脑上.因此,MouseDown事件基本上是在做同样的动作,应该怎么做.
我写的代码是这样的 -
XAML
<Button MouseDown="Button_OnMouseDown" TouchDown="Button_OnTouchDown"/>
Run Code Online (Sandbox Code Playgroud)
C#
private void Button_OnMouseDown(object sender, MouseButtonEventArgs e)
{
Action();
}
private void Button_OnTouchDown(object sender, TouchEventArgs e)
{
Action();
}
private void Action()
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?任何反馈都表示赞赏.
Roh*_*ats 12
使eventArgs更通用.用来EventArgs代替MouseEventArgs和TouchEventArgs.
private void Button_OnMouseDownOrTouchDown(object sender, EventArgs e)
{
Action();
}
Run Code Online (Sandbox Code Playgroud)
现在你可以从XAML挂钩到同一个事件:
<Button MouseDown="Button_OnMouseDownOrTouchDown"
TouchDown="Button_OnMouseDownOrTouchDown"/>
Run Code Online (Sandbox Code Playgroud)
这就是代表们的反差异.了解更多关于这里.
委托可以与具有类型参数的方法一起使用,该类型是委托签名参数类型的基本类型.使用逆变,您可以使用一个事件处理程序而不是单独的处理程序.例如,您可以创建一个接受EventArgs输入参数的事件处理程序,并将其与Button.MouseClick事件一起使用,该事件将MouseEventArgs类型作为参数发送,并且还使用发送KeyEventArgs参数的TextBox.KeyDown事件.
| 归档时间: |
|
| 查看次数: |
7833 次 |
| 最近记录: |