日期:2014-05-17  浏览次数:21418 次

WPF,如何在关闭窗口之前执行一个动画
如何在关闭窗口之前执行一个动画?
比如,点击右上角的关闭按钮,或者是在任务栏关闭窗口,如何在窗口关闭之前执行一个动画呢?
这个动画放在Closing事件了,好像不行哦

------解决方案--------------------
参考 [StackOverflow]Fading out a wpf window on close
简单来说就是用一个bool变量指示是否是第一次关闭窗口,如果是第一次关闭,在Window.Closing处理程序里执行e.Cancle = true取消关闭,同时通过代码启动动画。动画结束后会触发StoryBoard.Complete事件,在事件处理程序里更改bool变量指示不是第一次关闭,再调用Window.Close()关闭窗口。