C# 如何在加载页面时显示ProgressBar控件?

C# 如何在加载页面时显示ProgressBar控件?,c#,windows-phone-7,progress-bar,C#,Windows Phone 7,Progress Bar,我有几个页面的WP7应用程序。当用户浏览它们时,加载信息需要一些时间。因此,在向他/她显示页面之前,我想显示“正在加载…”消息。 我创建了进度条并将其放置在页面上: <StackPanel x:Name="progressBarMain" Grid.Row="1" Grid.ColumnSpan="2" Visibility="Collapsed"> <TextBlock Text="Loading..." HorizontalAlignment="Ce

我有几个页面的WP7应用程序。当用户浏览它们时,加载信息需要一些时间。因此,在向他/她显示页面之前,我想显示“正在加载…”消息。 我创建了进度条并将其放置在页面上:

    <StackPanel x:Name="progressBarMain" Grid.Row="1" Grid.ColumnSpan="2" Visibility="Collapsed">
        <TextBlock Text="Loading..." HorizontalAlignment="Center" VerticalAlignment="Center" />
        <ProgressBar Margin="10" Height="30" IsIndeterminate="True"/>
    </StackPanel>
但它不起作用。
有什么想法吗?谢谢大家!

Alex演示了在应用程序启动时显示进度条


虽然您无法直接操作启动屏幕(静态),但您可以显示一个弹出窗口(顺便说一句,这正是Alex的解决方案中所做的),并等待后台(读取:加载)操作完成。

是的,您需要创建一个单独的XAML弹出页面,在应用程序启动时加载该页面。有关启动屏幕的更多详细信息,请参阅MSDN中的代码示例:


谢谢!我用了这个方法。我还发现了另一个问题:请注意,如果您正在考虑使用不确定的进度条,您应该查看PerformanceProgressBar—当前的ootb在很多情况下性能都很差,虽然我相信他们最终会修复它,但同时您应该使用PerformanceProgressBar.:)
    public SomePage()
    {
        InitializeComponent();

        Loaded +=OnSomePageLoaded;
        progressBarMain.Visibility = Visibility.Visible;
        ContentPanel.Visibility = Visibility.Collapsed;
    }

    private void OnSomePageLoaded(object sender, RoutedEventArgs e)
    {
        progressBarMain.Visibility = Visibility.Collapsed;
        ContentPanel.Visibility = Visibility.Visible;
    }