Wpf 按钮的VSM CommonState对于触摸和鼠标的工作方式不同
我有一个非常简单的按钮视觉状态管理器,它可以设置边框颜色的动画,并将按钮的图像内容缩放到按下的状态。当用鼠标按下时,此功能有效,但当使用触摸屏时,只有在手指被涂抹在按钮上(按钮表面出现一些拖动)后,才达到按下状态 我查看了按钮的所有公共状态,但没有触摸状态。有什么我忽略的吗Wpf 按钮的VSM CommonState对于触摸和鼠标的工作方式不同,wpf,xaml,touch,visualstatemanager,Wpf,Xaml,Touch,Visualstatemanager,我有一个非常简单的按钮视觉状态管理器,它可以设置边框颜色的动画,并将按钮的图像内容缩放到按下的状态。当用鼠标按下时,此功能有效,但当使用触摸屏时,只有在手指被涂抹在按钮上(按钮表面出现一些拖动)后,才达到按下状态 我查看了按钮的所有公共状态,但没有触摸状态。有什么我忽略的吗 <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <Visu
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:0.05" />
<VisualTransition GeneratedDuration="0:0:0.1" To="Pressed" />
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal" />
<VisualState x:Name="Pressed">
<Storyboard>
<ColorAnimation Storyboard.TargetName="ButtonBorder" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" To="#A9CC3D"/>
<DoubleAnimation Storyboard.TargetName="GrayBorder" Storyboard.TargetProperty="(Border.Background).(ImageBrush.RelativeTransform).(ScaleTransform.ScaleX)" To="1.1"/>
<DoubleAnimation Storyboard.TargetName="GrayBorder" Storyboard.TargetProperty="(Border.Background).(ImageBrush.RelativeTransform).(ScaleTransform.ScaleY)" To="1.1"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
奇怪的是,在我们使用ControlTemplate.Triggers之前,问题是默认情况下Windows会将按住按钮映射为右键单击。查看下面关于如何在控件/窗口级别禁用此行为的Stackoverflow讨论