旋转动画会减慢WPF界面的速度

旋转动画会减慢WPF界面的速度,wpf,animation,Wpf,Animation,我有一个有样式的钮扣 这种风格有一种形象: <ContentPresenter.Content> <Grid> . . . <Image x:Name="RecordingImage" Source="/Studio;component/Images/Icons/image.png" Width="107" Height="107" RenderTransformOrigin="

我有一个有样式的钮扣

这种风格有一种形象:

<ContentPresenter.Content>
<Grid>
.
.
.
<Image x:Name="RecordingImage"
           Source="/Studio;component/Images/Icons/image.png"
           Width="107"
           Height="107"
           RenderTransformOrigin=".5,.5"
           Visibility="Hidden">
        <Image.RenderTransform>
            <RotateTransform Angle="0" />
        </Image.RenderTransform>
    </Image>

.
.
.
并使用以下代码设置动画:

<Trigger Property="IsEnabled" Value="false">
<Setter TargetName="RecordingImage" Property="Visibility" Value="Visible" />
<Trigger.EnterActions>
    <BeginStoryboard>
        <Storyboard>
            <DoubleAnimation 
                Storyboard.TargetName="RecordingImage" 
                Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" 
                From="0" To="360" Duration="00:00:03.000" RepeatBehavior="Forever"/>
        </Storyboard>
    </BeginStoryboard>
</Trigger.EnterActions>

但是当动画开始时,我所有的界面都会变慢


有什么问题?

可能图像太大了?(请注意,您在XAML中写入的宽度和高度与性能无关,仅与显示有关)。@MaMazav,图像大小为107 x 107,大小为1001字节……嗯。还显示了什么图形?可能是图像部分隐藏的厚重图形,当图像移动时需要重新渲染?嗯,我使用wpfmediakit有各种不同大小的相机。虽然没有一个按钮后面有动画。我也有wpfmediakit的性能问题,但当动画开始时,它们更明显。如果其他图形确实是问题的根源,您可以尝试隔离动画场景和其他图形的渲染,以避免在设置动画时渲染所有场景。例如,您可以将动画场景放置在ElementHost中,ElementHost将位于WinFormsHost中,但我想还有其他非黑客方式来隔离渲染。希望能有帮助。