C# 无法停止在XAML中声明的WPF序列图像板调用Render()
我在App.xaml中定义了一个WPF情节提要,如下所示:C# 无法停止在XAML中声明的WPF序列图像板调用Render(),c#,wpf,xaml,C#,Wpf,Xaml,我在App.xaml中定义了一个WPF情节提要,如下所示: <ContentControl Content="{StaticResource MyPath}" RenderTransformOrigin="0.5,0.5"> <ContentControl.RenderTransform> <TransformGroup> <ScaleTran
<ContentControl Content="{StaticResource MyPath}" RenderTransformOrigin="0.5,0.5">
<ContentControl.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</ContentControl.RenderTransform>
<ContentControl.Style>
<Style TargetType="ContentControl">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ContentControl},Path=Visibility}" Value="Visible">
<DataTrigger.EnterActions>
<BeginStoryboard Name="InnerSpinnerBeginStoryboard">
<Storyboard RepeatBehavior="Forever">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
<LinearDoubleKeyFrame KeyTime="0" Value="0"/>
<LinearDoubleKeyFrame KeyTime="0:0:0.6" Value="180"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<RemoveStoryboard BeginStoryboardName="InnerSpinnerBeginStoryboard"/>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
不幸的是,触发RemoveStoryboard
似乎并不能阻止脚本在触发ExitAction
后调用Render(),这会不必要地占用UI线程并降低应用程序的速度
我验证了这是由RepeatBehavior
引起的,方法是尝试“30x”
而不是“Forever”
,事实上,对Render()的调用会在30次重复完成后停止
有人知道我如何在
RepeatBehavior
打开后强制情节提要停止调用Render()。您可以尝试使用SkipStoryboardToFill
,而不是RemoveStoryboard
。或者在删除它之前使用StopStoryboad
,不幸的是,这两种建议似乎都不起作用:(