如何停止动画WPF?
如何停止动画,以便它不会产生Completed
事件。 这是一个简单的例子
支持代码:
private void Border_MouseEnter(object sender, MouseEventArgs e) { var a = new DoubleAnimation { To = 0, Duration = TimeSpan.FromMilliseconds(4000) }; a.Completed += (obj, args) => MessageBox.Show("Boom!"); border.BeginAnimation(Border.OpacityProperty, a); } private void Border_MouseLeave(object sender, MouseEventArgs e) { border.BeginAnimation(Border.OpacityProperty, null); border.Opacity = 1; }
如果我在矩形变为白色之前移动鼠标,它会在一段时间后显示弹出窗口。 怎么预防这个? 让我们假设Border_MouseLeave
和Border_MouseEnter
方法彼此不了解(它们不能相互传递动画实例变量)。
你可以用这个:
并且:
private void com(object sender, EventArgs e) { MessageBox.Show("boom!"); }
您可以使用Property或Data Trigger的EnterActions和ExitActions属性,或者@Ali表示正确使用Begin and Stop故事板。