【发布时间】: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