XAML属性在加载时启动故事板动画

好吧,正如标题所示:

我有一个故事板,我希望它的动画能够在没有代码干预的情况下启动.
这个要求的原因是我的目标是Silverlight Embedded,我现在也懒得重新编译我的应用程序.并且,考虑到它,将来更容易更改动画.

XAML是否有一个属性可以在xaml加载后立即运行故事板?

解决方法

您可以使用Loaded事件来启动故事板

有关示例,请参阅MSDN:
Storyboard (Silverlight)

从MSDN中挑选了这个例子:

<Canvas
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Rectangle
    x:Name="MyAnimatedRectangle"
    Width="100"
    Height="100"
    Fill="Blue">
    <Rectangle.Triggers>

      <!-- Animates the rectangle's opacity.
           This is the important part,the EventTrigger which will start our animation -->

      <EventTrigger RoutedEvent="Rectangle.Loaded">
        <BeginStoryboard>
          <Storyboard>
            <DoubleAnimation
              Storyboard.TargetName="MyAnimatedRectangle"
              Storyboard.TargetProperty="Opacity"
              From="1.0" To="0.0" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever" />
          </Storyboard>
        </BeginStoryboard>
      </EventTrigger>
    </Rectangle.Triggers>
  </Rectangle>
</Canvas>

对象Rectangle具有属性.在Triggers属性中,我们定义了一个EventTrigger,它将在发生此事件时触发.我们选择Rectangle.Loaded事件,这意味着它会在加载时触发;).

我们添加一个BeginStoryboard属性来开始我们的故事板,并添加一个Storyboard.此动画将在Opacity属性上使用DoubleAnimation,这意味着在5秒的持续时间内,不透明度将逐渐淡化为零,然后返回(AutoReverse属性),它将永远执行此操作(RepeatBehavIoUr属性).

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...