1

可能重复:
文本更改时启动情节提要

我创建了一个动画:

<phone:PhoneApplicationPage
    ...>

    <phone:PhoneApplicationPage.Resources>
        <Storyboard x:Name="MessageFadeInOut" Storyboard.TargetProperty="Opacity">
            <DoubleAnimation From="0" To="1" Duration="0:0:1" BeginTime="0:0:0" />
            <DoubleAnimation From="1" To="1" Duration="0:0:1" BeginTime="0:0:1" />
            <DoubleAnimation From="1" To="0" Duration="0:0:1" BeginTime="0:0:2" />
        </Storyboard>
    </phone:PhoneApplicationPage.Resources>

我想要做的是让一些东西淡入,停留一会儿然后淡出。

我通过以下方式触发它:

private void Unit_Tap_1(object sender, System.Windows.Input.GestureEventArgs e)
        {
            Storyboard sb = this.Resources["MessageFadeInOut"] as Storyboard;
            Storyboard.SetTarget(sb, this.Message);
            sb.Begin();
        } 

但是在 sb.Begin() 我得到“System.InvalidOperationException”。怎么来的?消息是图像

4

1 回答 1

2

我不确定在这种情况下“消息”是什么,这可能就是您看到此异常的原因。或者它可能不是。

无论哪种方式,您都不应该抓住故事板并手动启动它们。您应该使用 VisualStateManager 通过在每个状态中封装一个故事板来管理您的视觉状态。你可以阅读更多关于这个@Start Storyboard When Text Changes

开始使用 VSM 的一个好方法是观看 Steve White 在 Expression Blend 2 发布中的这些视频:

这些视频中的每一个都是一个系列的一部分,因此请考虑观看该系列的其余部分。还有文章可以看@http ://www.interact-sw.co.uk/iangblog/2008/06/10/visual-state

于 2013-01-13T22:49:40.953 回答