WPF 动画卡顿

情景:程序初期没有多少东西的时候,添加了整套流程的动画,是极其流畅,后期也就没在动过,但是开发到中期发现动画突然卡顿了,无论是网上找还是丢给AI判断,都是以程序优化和动画优化为主。

错误原因:我是将所有的子界面,全都加到主界面中的Grid上的,错误原因就是主界面的Grid外边有一层Border做了阴影效果。

解决方案:注解面的阴影效果去掉。

原版

csharp 复制代码
 <!--  阴影容器 - 添加Margin为阴影留出空间  -->
 <Border
     x:Name="border_Main"
     Margin="20"
     Background="White"
     BorderBrush="Gray"
     BorderThickness="1">
     <!--  关键:添加Margin让阴影可见  -->

	 <!--  问题点就是这里,去掉就可以了,不只是主页的动画有影响,所有地方的动画均有影响  -->
     <Border.Effect>
         <DropShadowEffect
             BlurRadius="10"
             Direction="270"
             Opacity="0.5"
             ShadowDepth="5"
             Color="Black" />
     </Border.Effect>

     <!--  调整内部容器尺寸  -->
     <Border Margin="0" Background="Transparent">
         <!--  内部不需要Margin  -->

         <Grid x:Name="DllContainer">
             <!--  DLL控件将在这里动态加载  -->
         </Grid>
     </Border>
 </Border>