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 を使用して、画像またはコントロールの可視性をこのプロパティにバインドする必要があります。
これはこれを行う古典的な方法だと思います。希望はあなたのために働きます...