【发布时间】:2015-06-05 19:38:03
【问题描述】:
我正在使用动画使窗口淡出焦点,然后关闭。
但是,关闭事件在动画之后立即发生。
在动画结束后让窗口关闭的最简单方法是什么?
在以下代码中,MainWindow 是正在打开的第二个窗口。在第一个窗口中单击按钮时调用此方法。
private void CloseMethod(object sender, RoutedEventArgs e)
{
MainWindow win = new MainWindow();
win.Show();
DoubleAnimation animation = new DoubleAnimation()
{
From = 1.0,
To = 0.0,
Duration = new Duration(TimeSpan.FromSeconds(2))
};
this.BeginAnimation(Window.OpacityProperty, animation);
this.Close();
}
【问题讨论】:
-
“淡出焦点”是什么意思?慢慢变得透明直到完全消失?
-
@AlexandreSeverino 是的,你是对的。抱歉,不清楚。
-
只是为了确定我是否理解。在调用
this.Close();指令之前,动画是否完整运行? -
就像现在一样,第一个窗口(调用动画的)立即关闭,没有动画,然后显示第二个窗口。如果我注释掉
this.Close(),则会显示第二个窗口,并且动画会出现在第一个窗口上。