【问题标题】:WPF Storyboard requires TargetNameWPF 故事板需要 TargetName
【发布时间】:2013-06-03 01:41:31
【问题描述】:

我的应用中有弹出“正在播放”窗口,现在我想对其显示/隐藏应用任何很酷的效果。我不想每次需要显示/隐藏它时都创建/处理窗口,所以我想我不能使用Window.Triggers。我创建了示例故事板并从代码隐藏中调用它;所以它立即陷入异常No target was specified for 'System.Windows.Media.Animation.DoubleAnimation。我找到了this answer 并添加了Storyboard.TargetName 属性。

    <Window.Resources>
        <Storyboard x:Key="OpenAnimation">
            <DoubleAnimation Storyboard.TargetName="NowPlaying" Storyboard.TargetProperty="(Window.Opacity)" Duration="0:0:5" From="0" To="1" />
        </Storyboard>
    </Window.Resources>

但它会引发另一个异常:Can't find name "NowPlaying" in namespace "VKPlaylist.GUI.NowPlaying". 但窗口代码隐藏类名 IS NowPlaying。我还尝试了使用命名空间的全名,但并没有改变。

我应该如何在这个属性中指定正确的名称?有没有像“this”这样的“魔法”关键字,所以情节提要知道在哪里应用动画?我不能在 XAML 中将 name 属性分配给 window (并且可能不能)。看起来上面答案中的老兄只需添加此属性即可轻松解决他的问题。我错过了什么?

【问题讨论】:

    标签: wpf animation storyboard


    【解决方案1】:

    您需要在&lt;Window&gt; 上设置Name 属性,以便TargetName 可以引用它。

    【讨论】:

    • 哇哦。我写了I can't assign name attribute to window in XAML,但我可以。我只是在尝试这样做时打错了。现在动画完美无缺。多谢指点!
    猜你喜欢
    • 2010-09-23
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 2014-01-18
    • 2010-12-20
    • 2013-04-03
    相关资源
    最近更新 更多