资源文件中的Silverlight动画故事板

时间:2012-02-27 18:08:27

标签: silverlight animation storyboard resource-file

故事板可以放在诸如styles.xaml之类的资源文件中吗?我有一个工具栏,可以在很多页面上重复使用。我现在使用页面级资源:

 <navigation:Page.Resources>
        <Storyboard x:Name="sbToolbarInitialization">
            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)"
                                           Storyboard.TargetName="Toolbar">
                <EasingDoubleKeyFrame KeyTime="0"
                                      Value="46" />
                <EasingDoubleKeyFrame KeyTime="0:0:1"
                                      Value="0">
                    <EasingDoubleKeyFrame.EasingFunction>
                        <BackEase EasingMode="EaseOut" />
                    </EasingDoubleKeyFrame.EasingFunction>
                </EasingDoubleKeyFrame>
            </DoubleAnimationUsingKeyFrames>
        </Storyboard>
    </navigation:Page.Resources>

边境管制使用:

<Border x:Name="Toolbar"
                Style="{StaticResource ToolbarBorderStyle}">
            <Border.RenderTransform>
                <CompositeTransform />
            </Border.RenderTransform>
            <i:Interaction.Triggers>
                <i:EventTrigger>
                    <ei:ControlStoryboardAction Storyboard="{StaticResource sbToolbarInitialization}" />
                </i:EventTrigger>
            </i:Interaction.Triggers>
 </Border>

由于我已经使用style.xaml文件为边框放置格式,我还希望在那里存储故事板。这可能吗?

1 个答案:

答案 0 :(得分:0)

我做了类似的事情,将Storyboard存储在App.xaml文件中并在我的整个应用程序中使用。在代码隐藏或视图模型中访问它的一种方法是这样的:

public Storyboard MyStoryBoard = Application.Current.Resources["MyStoryBoard "] as Storyboard;

然后,您可以声明性地将该Storyboard属性绑定到您的视图。