我正在编写一个WPF主题,将在触摸设备上使用。我还希望该主题在使用鼠标的设备上提供正常的行为。
问题是当触摸控制时,“IsMouseOver”触发器被触发并保持开启状态。我的研究显示这是一个已知问题,因为当触摸控件时,IsMouseOver被设置为true但未被取消。解决此问题的方法是从样式中删除“IsMouseOver”触发器。但是,通过删除IsMouseOver触发器会失去鼠标悬停的视觉提示,我对这种方法并不满意。
问题是当触摸控制时,“IsMouseOver”触发器被触发并保持开启状态。我的研究显示这是一个已知问题,因为当触摸控件时,IsMouseOver被设置为true但未被取消。解决此问题的方法是从样式中删除“IsMouseOver”触发器。但是,通过删除IsMouseOver触发器会失去鼠标悬停的视觉提示,我对这种方法并不满意。
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" TargetName="border" Value="{StaticResource Button.MouseOver.Background}"/>
<Setter Property="BorderBrush" TargetName="border" Value="{StaticResource MouseOver.Border}"/>
</Trigger>
</ControlTemplate.Triggers>
同时将 "Stylus.IsPressAndHoldEnabled" 设置为 false 并不是解决这个问题的方法。
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="False"/>
有什么建议吗?