c# - 长时间运行函数的进度条 WP7 C#

标签 c# windows-phone-7 user-interface progress-bar

我正在编写一个数独求解器应用程序。求解器的计算时间在某些情况下可能会超过 3 秒,这将需要一个进度条。

所以我的代码:

private void solveButton_Click(object sender, RoutedEventArgs e)
{
    progressBar1.Visibility = Visibility.Visible;
    progressBar1.IsIndeterminate = true;
    mySolver.Solve(initialValue)
    progressBar1.Visilibity=Visilibity.collapsed;
    progressBar1.IsIndeterminate = false;
}

这里的代码是我实际代码的精简版。此代码不起作用,因为进度条根本不出现。在我看来,UI 仅在事件执行完成后才会更新。如果我在求解器步骤后没有隐藏进度条,则在解决数独后会出现进度条。用 thread.sleep(1000) 替换求解器也会导致相同的 UI 更新。

感谢您的帮助。

最佳答案

您应该在单独的线程上启动求解器。这样,即使在求解过程中,用户界面线程也可以继续处理用户界面对象,从而可以在屏幕上绘制并更新进度条。

关于c# - 长时间运行函数的进度条 WP7 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7094487/

相关文章:

c# - 在 .NET 中解析 XML 文件

c# - 等待 HttpWebRequest.BeginGetResponse 在 Windows Phone 7 中完成

asp.net - Windows Phone ASP.NET Web 服务压缩

linux - Ubuntu 服务器安装 GUI 和远程访问

python - PyQt 从用户获取日期

c# - 反射(reflection)的工作?

c# - 从 XML 创建通用表的 LINQ 算法

iphone - Android vs iPhone vs Windows Phone vs 其他作为内部业务软件平台

GUI期间后台JAVA算法

c# - 如何从 ObservableCollection 中获取第一个对象?