1秒后显示加载动画

时间:2015-03-23 21:24:04

标签: wpf

如何在显示加载动画之前等待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秒钟?

1 个答案:

答案 0 :(得分:2)

不要在代码中执行任何操作来延迟IsBusy的值。 WPF的重点是在GUI和逻辑之间进行分离。

话虽如此,诀窍是通过故事板等在xaml中制作动画,并使用2个动画或使用关键帧的动画,只显示第一秒没有发生任何事情。

例如,假设你想要操纵不透明度,第一秒不透明,不透明,然后在第一秒之后操纵它。