如何在显示加载动画之前等待1秒钟?现在,我的动画绑定了一个属性" IsBusy"
<mui:ModernProgressRing Grid.Column="2" IsActive="{Binding IsBusy}" Width="140" Height="140" Style="{Binding SelectedItem.Tag, ElementName=CmbRingStyle}" />
并显示甚至几分之一秒,因为IsBusy设置如下:
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += DoWork;
worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs args)
{
IsBusy = false;
};
IsBusy = true;
worker.RunWorkerAsync();
我如何添加某种缓冲区,以便IsBusy仅在少量时间后设置为true,例如1秒钟?
答案 0 :(得分:2)
不要在代码中执行任何操作来延迟IsBusy的值。 WPF的重点是在GUI和逻辑之间进行分离。
话虽如此,诀窍是通过故事板等在xaml中制作动画,并使用2个动画或使用关键帧的动画,只显示第一秒没有发生任何事情。
例如,假设你想要操纵不透明度,第一秒不透明,不透明,然后在第一秒之后操纵它。