在WP 8.1中触摸AppBarButton时如何延迟UI反馈

时间:2015-05-18 16:35:54

标签: events windows-phone-8.1

在UI显示任何类型的用户反馈之前,我需要向AppBarButton触摸事件添加延迟(2000ms)。高亮颜色应在延迟后出现,而不是在它之前出现。在WP 8.1中如何做到这一点?

1 个答案:

答案 0 :(得分:0)

您必须更改样式。我不认为你可以延迟标准按钮的触地得分,因此你可能不得不使用RepeatButton。

<RepeatButton Style="{StaticResource RepeatButtonStyle1}" Delay="2000" Interval="100000" />

然后您可以自定义样式,更具体地说是Pressed VisualState故事板:

<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentPresenter">
    <DiscreteObjectKeyFrame KeyTime="2000" Value="{ThemeResource ButtonPressedForegroundThemeBrush}"/>
</ObjectAnimationUsingKeyFrames>

如果你需要它是一个AppBarButton,你可能只是改变它的样式来延迟关键帧,但你必须使用DispatcherTimer处理2s计时器并确保按钮仍处于按下状态,但你也有如果发生Release事件,则重置计时器。