WPF动画:检测是否有动画正在进行中?

Cam*_*ers 8 c# wpf animation

是否有快速方法来确定WPF控件中的任何动画是否正在处理.

我有一个树视图,我正在动画树节点的扩展,我想等到所有这些动画完成后才能将焦点项目滚动到视图中.我不想独立跟踪所有故事板的进度.

理想情况下,我的伪代码看起来像这样:

myTreeView.ExpandAll(); // I have written this part

while (myTreeView.IsAnimating()) // I need the 'IsAnimating' property or extension method
{
   // wait
}

selectedTreeviewItem.BringIntoView(); // I have written this too.
Run Code Online (Sandbox Code Playgroud)

Bre*_*art 1

为什么不使用故事板的已完成事件?您必须使用事件或不同的线程,否则您将使用 while 语句阻塞 UI 线程,并且不会播放任何动画。