C# WPF XAML如何有条件地执行此动画?
根据C# WPF XAML如何有条件地执行此动画?,c#,wpf,xaml,animation,conditional,C#,Wpf,Xaml,Animation,Conditional,根据boolcananimate,如何有条件地运行此动画?它现在可以工作,但我并不总是希望它被设置动画,我想检查布尔值 <Border BorderBrush="Black" BorderThickness="2" Margin="1" Name="ReviewNote"> <Border.Triggers> <EventTrigger RoutedEvent="Border.Loaded"> <BeginStoryb
boolcananimate
,如何有条件地运行此动画?它现在可以工作,但我并不总是希望它被设置动画,我想检查布尔值
<Border BorderBrush="Black" BorderThickness="2" Margin="1" Name="ReviewNote">
<Border.Triggers>
<EventTrigger RoutedEvent="Border.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="ReviewNote"
Storyboard.TargetProperty="(Border.Opacity)"
From="1.0" To="0.0" AutoReverse="True" RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Border.Triggers>
<TextBlock Text="{x:Static Constants:StringConstants.ReviewNote}"
Background="{StaticResource ReviewNoteColor}" Width="100"
TextAlignment="Center" />
</Border>
在边框和内部样式上应用样式,您可以检查布尔属性的值。基于该属性,您可以在从序列图像板中删除TargetName后,使用序列图像板指定
DataTrigger.EnterActions
这会奏效的-
<Border BorderBrush="Black" BorderThickness="2" Margin="1" Name="ReviewNote">
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding CanAnimate}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="(Border.Opacity)"
From="1.0" To="0.0" AutoReverse="True"
RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<TextBlock/>
</Border>
hmm当布尔值变为false时,如何停止动画?它似乎永远都是动画,而不再检查布尔值。布尔值是在SelectedItem设置器中设置的…谢谢,我知道了如何使用ExitActions和StopStoryboard停止它。是的,您可以使用ExitActions
:)