別のスレッドで、または Dispatcher クラスを使用して、Windows Phone 8 でプログレスバーを実行することは可能ですか?
ありがとう
別のスレッドで、または Dispatcher クラスを使用して、Windows Phone 8 でプログレスバーを実行することは可能ですか?
ありがとう
プログレスバーを入れるApp.xaml
<ProgressBar IsIndeterminate="True" HorizontalAlignment="Stretch" VerticalAlignment="Top" Loaded="ProgressBar_Loaded" Visibility="Collapsed" />
& 次に、この C# コードを ur に入れますApp.xaml.cs
public partial class App : Application
{
// progress bar
public ProgressBar m_progressBar;
// some code......
private void ProgressBar_Loaded(object sender, RoutedEventArgs e)
{
m_progressBar = (ProgressBar)sender;
}
}
で別のメソッドを定義するclass
public static Class RestMethods
{
public static void ShowProgress(bool show)
{
if (show)
((App)Application.Current).m_progressBar.Visibility = Visibility.Visible;
else
((App)Application.Current).m_progressBar.Visibility = Visibility.Collapsed;
}
}
プログレスバーを表示または非表示にする別の方法があります
それを不平を言うので、それはあなたを凍らせませんUI
--->
Dispatcher.BeginInvoke(() => { RestMethods.ShowProgress(true); }); // to show
Dispatcher.BeginInvoke(() => { RestMethods.ShowProgress(false); }); // to hide
WindowsPhone の UI コントロールは、UI スレッドからのみ更新できProgressBar
、別の (UI ではない) スレッドから更新することはできません。Dispatcher
作業スレッドから UI スレッドへの呼び出しをマーシャリングします。