我有一个按钮,当点击时,TextBlock MultiDataTrigger 运行,但是每次点击按钮它只运行两次。
说明:首先默认的 TextBlock 文本会被断开连接,然后有两个 MultiDataTriggers,满足条件的会运行,再次点击按钮会触发另一个 MultiDataTrigger,但此后没有任何 Storyboard 动画工作。
文本块
<TextBlock x:Name="abctxt" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" Text="Disconnected">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=sbbtn, Path=IsPressed}" Value="True" />
<Condition Binding="{Binding ElementName=abctxt, Path=Text}" Value="Connected" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource DisconnectedTextChange}"/>
</MultiDataTrigger.EnterActions>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=sbbtn, Path=IsPressed}" Value="True" />
<Condition Binding="{Binding ElementName=abctxt, Path=Text}" Value="Disconnected" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource ConnectedTextChange}"/>
</MultiDataTrigger.EnterActions>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
按钮
<Button x:Name="sbbtn" />
Storyboard
<Storyboard x:Key="ConnectedTextChange" x:Name="ConnectedTextChange">
<StringAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.Text)" AccelerationRatio="1">
<DiscreteStringKeyFrame KeyTime="0:0:0.8" Value="Connected"/>
</StringAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="DisconnectedTextChange" x:Name="DisconnectedTextChange">
<StringAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.Text)" AccelerationRatio="1">
<DiscreteStringKeyFrame KeyTime="0:0:0.8" Value="Disconnected"/>
</StringAnimationUsingKeyFrames>
</Storyboard>