gpt4 book ai didi

c# - 如何在 Windows Phone 中实现等待特定时间的功能?

转载 作者:行者123 更新时间:2023-11-30 20:56:13 24 4
gpt4 key购买 nike

我正在构建一个包含大量动画的 Windows 手机应用程序。我需要的是当应用程序启动时,应该完成第一个动画,比如 myS() 是 Storyboard的名称。只有在完成动画后,文本 block 才会在 3 秒后出现。我应该使用什么方法让文本框的显示等待 Storyboard 完成?我尝试的是使用 Thread.Sleeps(10000) 但这不起作用。这是代码-

public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
c1.Visibility = Visibility.Collapsed; //c1 is the name of the textbox
myS.Begin();
canDisp();
}

private void e1_ManipulationStarted(object sender, ManipulationStartedEventArgs e)
{
myS1.Begin();
}

private void e1_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
{
myS2.Begin();
}
void canDisp()
{
c1.Visibility = Visibility.Visible;
}}

在 myS.Begin() 执行完成后,我想让程序等待 3 秒,然后执行 canDisp() 方法,我该如何实现?

最佳答案

如果您的动画是 Storyboard,那么它有一个 Completed 事件 ( MSDN link ) 就是为了这个目的。

您对 Thread.Sleep() 的调用可能与动画在同一线程上运行,因此在动画休眠时停止运行。
如果你真的想走这条路,那么你需要将你的 sleep 调用移到另一个线程。


如果你真的想使用线程,一个简单的方法是:

System.Threading.ThreadPool.QueueUserWorkItem(obj =>
{
System.Threading.Thread.Sleep(5000);

Dispatcher.BeginInvoke(() =>
{
MessageBox.Show("after delay");
});
});

关于c# - 如何在 Windows Phone 中实现等待特定时间的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17659666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com