我为Button提供了一个非常简单的可视化状态管理器,它可以动态显示边框的颜色,并将按钮的图像内容缩放到按下状态。这在使用鼠标按下时有效,但在使用触摸屏时,只有在手指涂抹在按钮上之后才会达到按下状态(在按钮表面上进行一些拖动)。
我查看了按钮的所有CommonStates,但没有触摸状态。有什么我没注意到的吗?
<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之前,它是有效的。
发布于 2014-04-11 16:09:14
问题是,默认情况下,Windows地图触摸按住鼠标右键。查看下面的Stackoverflow讨论,了解如何在控件/窗口级别禁用此行为。
https://stackoverflow.com/questions/22832138
复制相似问题