私はサーバーからXMLデータを呼び出すコード部分を持っています。場合によっては、ネットワークまたはサーバー自体にエラーがあります。だから私はいくつかのエラー処理が必要です。そのために 私はAwesomeFonts.WPFをインストールし、スピニングアイコンの読み込みのアニメーションを表示する必要があり、単純な再びUIスレッドとタイマー
<StackPanel Name="ErrorPanel" Height="200" Width="300" Visibility="Hidden" Canvas.Top="440" Canvas.Left="810" Panel.ZIndex="9999">
<fa:ImageAwesome Icon="Spinner" Spin="True" Height="100" Width="100" />
<TextBlock Text="data loading..." />
</StackPanel>
を作成しました。今、私はWPFの派遣の問題を知っている今
ErrorPanel.Visibility = Visibility.Visible;
mainPznItem.SubPzns = Communication.GetProductList(tempPznList);
ErrorPanel.Visibility = Visibility.Hidden;
のようなものをやってみたかったし、この1には、すでにこの
Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new
ThreadStart(delegate
{
ErrorPanel.Visibility = Visibility.Visible;
}));
のようなこの
Application.Current.Dispatcher.Invoke(() => { ErrorPanel.Visibility = Visibility.Visible; });
か何かのようなものを試してみました実際にパネルが表示されますが、アニメーションは停止しました。
そしてタイマーを稼働させて、サーバーのタイムアウトを短縮できるようにしたかったのです。
1.アニメーションを表示する
2.開始タイマー
3.サーバ
を呼び出します。4. 10に戻します。
5.答えが10になるまで、答えが得られなかったら、それ以外は表示されます。結果
6.待機中のアニメーションを非表示にします。
誰かにこれを達成するためのアイデアはありますか?
好ましくは非同期Webリクエスト(HttpClient)、Task.Run()を使用して2番目の選択を使用して、非同期をGetProductList()にします。 –