【问题标题】:Showing progress bar while window is loading with wpf window? [duplicate]在使用 wpf 窗口加载窗口时显示进度条? [复制]
【发布时间】:2013-11-27 12:02:42
【问题描述】:

我有一个包含很多项目和工具的窗口,我想问的是如何在窗口加载 WPF 主窗口或子窗口时显示进度条?

【问题讨论】:

  • 究竟是什么阻碍了你这样做?
  • 一个简单的方法是尝试计算加载时间并创建一个带有加载栏的新 wpf 窗口,并在后面的代码中管理一个接近加载时间的计时器,然后显示它。跨度>
  • 如果您正在寻找一个无需编码的非常简单的解决方案(在我看来),您还可以选择一个图像并将其构建操作设置为闪屏。但是我没有回答,因为你要求别的东西。
  • 对不起,这是我第一次尝试使用进度条,请你给我一个例子,将非常感谢你

标签: c# wpf


【解决方案1】:

你可以试试这个链接:

http://bensprogrammingwork.blogspot.com.br/2012/01/progressbar-in-wpf.html

可能会有所帮助,我可以尝试解释更多,但我真的不知道您的困难是什么。

【讨论】:

    【解决方案2】:

    尝试使用 WPF 执行此操作毫无意义,因为当 Framework 加载您的应用程序并且您能够显示带有进度条的 Window 时,MainWindow.xaml 页面将已经加载。

    有一种方法可以在应用程序完全加载之前显示静态图像,但您不能为它的任何部分设置动画。您可以在 MSDN 上的 How to: Add a Splash Screen to a WPF Application 页面了解如何执行此操作。

    如果您确实想要在启动时加载动画,则必须等到应用程序完成加载,然后向用户“假装”它仍在加载您的动画...我认为您会这样做毫无意义同意。

    即便如此,如果您决心走这条路,您可以在 ElegantCode 网站的A Simple WPF Loading Animation 页面中找到加载动画的工作示例。


    更新>>>

    哦,抱歉,我没有意识到这不仅仅是为了启动Window。不可以,您只能在应用程序启动时使用启动画面。在加载Window 时显示动画时会发现的问题是(通常)Window 是使用 UI 线程加载的。由于您的动画也将使用 UI 线程,您会发现它可能不会顺利运行,因为 UI 线程正忙于加载和初始化 Window。您仍然可以尝试使用我为此提供的最后一个链接,但不要期望太高。

    【讨论】:

    • 我现在尝试了启动画面,但它用于启动应用程序,我可以在加载特定窗口时使用它吗?这就是我想要的谢里登。
    • Sheridan,非常感谢您抽出宝贵时间,我现在很困惑,我不知道什么是做我想做的最好的方法,请您给我您的意见跨度>
    • 我回答的最后一行总结了我的观点:你仍然可以尝试......但不要期望太多。它可能有点工作,但它将在Window 加载时冻结。您可以使用DispatcherTimer 定期更新TextBlock 来完成一个简单的文本动画,但同样,这也可能会冻结。试试看……你可能会走运。
    • 现在,我正在尝试使用 Backgrounworker,但是如何从另一个窗口加载窗口? msdn.microsoft.com/en-us/library/…
    • 不幸的是,我尝试使用加载动画、Telerik busyindecator 和 backgroundworker,但所有这些都使窗口冻结。是不是没办法解决!!!
    猜你喜欢
    • 1970-01-01
    • 2010-11-26
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多