平台与应用程序: 我在WPF应用程序中使用MVVM模式。 部署后的应用程序只能通过触摸屏访问。 正如mvvm模式所建议的那样,我将Command绑定到ICommands并附加了RelayCommands。
<ToggleButton Grid.Row="1"
Padding="5 4 4 4"
Command="{Binding HomeCommand}"
IsChecked="{Binding isCheckedHomeButton,Mode=TwoWay}"
Style="{StaticResource SideMenuToggleButton}"
Content="{StaticResource FontAwesomeIconHome}"/>
问题: 如果在开始时单击或触摸了按钮,则将正确触发并执行RelayCommands。一段时间(通常为2分钟)后,应用程序仍会识别是否已单击按钮,但无法识别是否已触摸按钮。
到目前为止我测试了什么: Windows应用程序EventLog没有相关条目。
尽管有MVVM Command模式,我还是添加了事件处理程序,以确保TouchDown事件正确触发。该应用程序正确响应了所有附加的触摸输入。
PS C:\Temp\DebugLog> Get-Content .\testLog.txt -Wait
MouseclickDetected --- 30.10.2019 13:00:20
MouseclickDetected --- 30.10.2019 13:01:10
MouseclickDetected --- 30.10.2019 13:01:11
MouseclickDetected --- 30.10.2019 13:01:11
MouseclickDetected --- 30.10.2019 13:01:11
TOUCHDOWN Detected --- 30.10.2019 13:11:51
TOUCHDOWN Detected --- 30.10.2019 13:11:51
TOUCHDOWN Detected --- 30.10.2019 13:11:52
TOUCHDOWN Detected --- 30.10.2019 13:11:52
TOUCHDOWN Detected --- 30.10.2019 13:11:52
TOUCHDOWN Detected --- 30.10.2019 13:11:52
因此,该问题仅在命令绑定时发生。
我如何弄清楚为什么绑定的命令没有通过触摸触发? 幸运的是,触摸屏输入首先发挥了作用?