是否可以在Blend中添加行为以切换到不同的可视状态以响应绑定中的属性更改事件?它需要切换到这种状态几秒钟然后退出。
每次datacoontext上的计数值发生变化时,我都会尝试更改控件的背景颜色。我已经尝试过使用GoToStateAction和EventTrigger / DataTrigger但是无法完全触发设置 - 我怀疑我需要以不同的方式处理它,但我不确定如何。 任何帮助将不胜感激 -
这是边框的xaml - 我坚持如何设置触发器以更改视觉状态 - 我希望每次在viewmodel上切换到BrightState几秒钟并返回到NormalState变化
<Border x:Name="border" Grid.Row="2" Background="CadetBlue">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock><Run Text="Count:"/></TextBlock>
<TextBlock x:Name="textBlock" Text="{Binding Count}" MinWidth="30">
<i:Interaction.Triggers>
<!--<i:EventTrigger EventName="MouseLeftButtonDown" SourceName="textBlock">
<ei:GoToStateAction/>
</i:EventTrigger>-->
</i:Interaction.Triggers>
</TextBlock>
</StackPanel>
</Border>
以下是为更改边框背景颜色而定义的视觉状态:
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="FlickerStateGroup">
<VisualState x:Name="NormalState"/>
<VisualState x:Name="BrightState">
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)" Storyboard.TargetName="border">
<EasingColorKeyFrame KeyTime="0" Value="#FF6CD9DC"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>