1

マルチスレッドの WPF アプリケーションがあります。私のアプリケーションにはバックグラウンドで実行される小さなプロセスがあり、それが完了すると、UI が結果で更新されます。

私はすでに機能を実装しており、完全に正常に動作しています。UI が更新されるまで実行し続けるように、アプリケーション用に以下のようなアニメーション処理イメージを作成したいだけです。私は、この種のアニメーションを作成するためのエクスプレッション ブレンドがあまり得意ではありません。

http://www.google.com/imgres?imgurl=https://www.sunvalleywellness.org/img/animation_processing.gif&imgrefurl=http://www.sunvalleywellness.org/&h=200&w=200&sz=55&tbnid=d4OPzhVnCB_kNM: &tbnh=90&tbnw=90&zoom=1&usg=__KPnWRjNlWm-AuZg0lavRE5lzMcA=&docid=JZavNcJukA3ZwM&sa=X&ei=SlenUcG-DIjtqwGMqYHAAQ&ved=0CDMQ9QEwAg&dur=733

それを作成するのを手伝ってくれませんか。私

ありがとう

ディー

4

1 に答える 1

0

View Model または DataContext の bool プロパティでそれを行う必要があります。このプロパティは、バックグラウンドで動作しているかどうかを示す必要があります (例: IsWorking. ジョブを開始するときはこのプロパティを true に設定し、ジョブを終了するときは false に設定します。DataContext クラスのこのサンプル コードを参照してください。

var currentSyncContext = SynchronizationContext.Current;
var backgroundWorker = new BackgroundWorker();
backgroundWorker.DoWork += (_,__) =>
                      {
                          currentSyncContext.Send((t)=>{IsWorking = true;},null);     //this is for change the visual tree from another thread
                          //Here write the job you want to do...
                          currentSyncContext.Send((t)=>{IsWorking = false;},null);    //this is for change the visual tree from another thread
                      };
backgroundWorker.RunWorkerAsync();

次に、XAML コードで、BooleanToVisibilityConverter を使用して、画像またはコントロールの可視性をこのプロパティにバインドする必要があります。

これはこれを行う古典的な方法だと思います。希望はあなたのために働きます...

于 2013-05-31T18:48:52.820 に答える