这可能是一个简单的问题,但我怎么知道Storyboard动画何时完成?我正在使用.Net 3.0所以也许这就是原因,但在我的其他项目(.net 4)中,我可以处理一个简单的已完成事件。用.net 3.0在WPF中执行此操作的方法是什么? 感谢
编辑以回应评论: 我猜错误在于其他地方。我无法从代码隐藏中访问我的故事板。
//storyboardBounce does not exist error is thrown
storyboardBounce.Completed += new EventHandler(Storyboard_Completed);
但是,如果我在Blend中为按钮分配触发器,我可以像这样访问它们:
sbDisplayContents_BeginStoryboard.Storyboard.Completed += new EventHandler(Storyboard_Completed);
但是由于有许多触发器调用相同的故事板,我必须手动设置每个事件处理程序,如上所述。有没有理由我的故事板无法从代码隐藏中访问?或者有没有办法将多个触发器分配给同一个故事板,这样我就不必处理
的已完成事件sbDisplayContents_BeginStoryboard... sbDisplayContents_BeginStoryboard1... sbDisplayContents_BeginStoryboard2...
等。
由于
答案 0 :(得分:1)
Completed
事件存在于3.0 ...(它继承自Timeline
)
http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.completed.aspx
支持:4,3.5,3.0
更新
如果在资源中声明了故事板,则无法直接在代码隐藏中访问它。您需要致电FindResource
:
StoryBoard storyboardBounce = FindResource("storyboardBounce") as StoryBoard;