1
我有多線程的WPF應用程序。我的應用程序中有一個小程序在後臺運行,一旦完成,用戶界面將更新結果。WPF圖像動畫
我已經實現了功能,它運行得很好。我只想爲我的應用程序創建如下所示的動畫處理圖像,以便在UI更新之前它將繼續運行。我並不擅長Expression混合來創建這種動畫。
你能請幫助我創建。我
感謝
迪
我有多線程的WPF應用程序。我的應用程序中有一個小程序在後臺運行,一旦完成,用戶界面將更新結果。WPF圖像動畫
我已經實現了功能,它運行得很好。我只想爲我的應用程序創建如下所示的動畫處理圖像,以便在UI更新之前它將繼續運行。我並不擅長Expression混合來創建這種動畫。
你能請幫助我創建。我
感謝
迪
在您的視圖模型或DataContext的,必須有一個布爾屬性來完成它。此屬性應指示是否在後臺工作,例如: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。
我認爲這是做這件事的經典方式。希望適合你...
我明白這一點。我已經實現了。我需要UI的圖像處理控制。如何使用動畫製作該圖像 – user2203652
您可以使用RotateTransform爲Image控件(帶有您想要的圖像)製作動畫,並使其永久重複(它是一個布爾值或枚舉值)。然後隱藏或顯示任何你想要的控制。 –