Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.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
WPF动画用户控件-画布_Wpf_Canvas_User Controls - Fatal编程技术网

WPF动画用户控件-画布

WPF动画用户控件-画布,wpf,canvas,user-controls,Wpf,Canvas,User Controls,在为我的项目开发时,我试图创建一个包含许多画布层的usercontrol元素。这是一个使用混合导入的矢量图像。我为初始帧创建了一个.GIF模型,并为每个层设置了帧速率(40ms)。在创建.gif文件时,很容易控制每层的帧速。我现在正试图在WPF中使用情节提要,并控制我使用可见性状态的每个层的外观,就像在我的源代码中一样: <UserControl.Resources> <Storyboard x:Key="ProgressAnimation" RepeatBehavio

在为我的项目开发时,我试图创建一个包含许多画布层的usercontrol元素。这是一个使用混合导入的矢量图像。我为初始帧创建了一个.GIF模型,并为每个层设置了帧速率(40ms)。在创建.gif文件时,很容易控制每层的帧速。我现在正试图在WPF中使用情节提要,并控制我使用可见性状态的每个层的外观,就像在我的源代码中一样:

<UserControl.Resources>
    <Storyboard x:Key="ProgressAnimation" RepeatBehavior="Forever">
       <ObjectAnimationUsingKeyFrames BeginTime="00:00:00.0000000" Storyboard.TargetName="Layer1" Storyboard.TargetProperty="Visibility">
          <DiscreteObjectKeyFrame KeyTime="00:00:00.2000000" Value="{x:Static Visibility.Visible}"/>
          <DiscreteObjectKeyFrame KeyTime="00:00:00.4500000" Value="{x:Static Visibility.Collapsed}"/>
       </ObjectAnimationUsingKeyFrames> 
       <ObjectAnimationUsingKeyFrames BeginTime="00:00:00.1000000" Storyboard.TargetName="Layer2" Storyboard.TargetProperty="Visibility">
          <DiscreteObjectKeyFrame KeyTime="00:00:00.2000000" Value="{x:Static Visibility.Visible}"/>
          <DiscreteObjectKeyFrame KeyTime="00:00:00.4500000" Value="{x:Static Visibility.Collapsed}"/>
       </ObjectAnimationUsingKeyFrames>            
       <ObjectAnimationUsingKeyFrames BeginTime="00:00:00.2290000" Storyboard.TargetName="Layer3" Storyboard.TargetProperty="Visibility">
          <DiscreteObjectKeyFrame KeyTime="00:00:00.2000000" Value="{x:Static Visibility.Visible}"/>
          <DiscreteObjectKeyFrame KeyTime="00:00:00.4500000" Value="{x:Static Visibility.Collapsed}"/>
       </ObjectAnimationUsingKeyFrames>        
   </Storyboard>
</UserControl.Resources>

当然,我设置了一个触发器:

<UserControl.Triggers>
    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
       <BeginStoryboard x:Name="ProgressAnimationBeginStoryboard" Storyboard="{StaticResource ProgressAnimation}"/>
     </EventTrigger>
</UserControl.Triggers>

现在代码工作得很好,但我确实提高了元素的速度,并且遇到了麻烦。我为我的故事板设置了速度,元素闪烁/闪烁,工作非常不稳定

请帮助我理解并学习一种更好的方法来做好这件事