Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法停止在XAML中声明的WPF序列图像板调用Render()_C#_Wpf_Xaml - Fatal编程技术网

C# 无法停止在XAML中声明的WPF序列图像板调用Render()

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

我在App.xaml中定义了一个WPF情节提要,如下所示:

        <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
,不幸的是,这两种建议似乎都不起作用:(