C# 添加延迟以使动画更平滑

C# 添加延迟以使动画更平滑,c#,xaml,windows-8.1,C#,Xaml,Windows 8.1,我正在使用windows store 8.1应用程序,需要延迟才能更平滑地显示动画。但拖延的时间比预期的要长。我确实喜欢这个 Animation1.Begin(); await Windows.System.Threading.ThreadPool.RunAsync(async (s) => { await Task.Delay(1); await MainViewModel.Instance.Dispatcher.RunAsync(W

我正在使用windows store 8.1应用程序,需要延迟才能更平滑地显示动画。但拖延的时间比预期的要长。我确实喜欢这个

 Animation1.Begin();
 await Windows.System.Threading.ThreadPool.RunAsync(async (s) =>
         {
        await Task.Delay(1);
        await MainViewModel.Instance.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () =>
         {
        MessageDialog.Show("after delay");
         });
         }, Windows.System.Threading.WorkItemPriority.High);

延迟设置为毫秒,因此理想情况下,对于1秒的延迟,您必须执行任务。延迟(1000)。还有其他重载延迟方法。
希望有帮助。

但是延迟出现的时间比预期的要长。
您想延迟多长时间?只需1秒钟即可完成动画。但它在UI中出现的时间超过了1秒。我看到的另一件事是,您用来显示消息的方法使用了一个messagebox,这只是Windows8的东西。在Windows 8.1中,您需要使用MessageDialog,如果MessageBox是内部使用MessageDialog的自定义类,则需要等待显示部分。那么为什么不在情节提要本身中设置duration属性呢?另外,请在你的问题中添加所有适当的细节。是的。故事板本身的持续时间为1秒。卸载页面时应用动画,然后进入下一页。所以为了使动画更加突出,我做了这个延迟,但这个延迟需要超过1秒的时间。所以第二页的加载速度很慢。