[英]Implementing Progress bar using WPF with MVVM pattern (without BackgroundWorker)
我有一個基於 MVVM 設計模式的 WPF 應用程序。
我希望在應用程序中實現一個遵循 MVVM 模式的進度條。
我找到了一些使用 background-worker 類來實現這個的解決方案。 由於某些原因,我不允許使用后台工作人員。
有沒有人對如何實現這一點有任何建議?
提前致謝
我更喜歡Task
不是后台工作人員。 不管怎樣,這里有一個簡單的進度條實現。
<ProgressBar Value="{Binding ProgressValue}" Maximum="100" Height="20" />
public MainViewModel()
{
Task.Run(() =>
{
while (true)
{
ProgressValue++;
Thread.Sleep(250);
}
});
}
public int ProgressValue
{
get { return _progressValue; }
set { _progressValue = value; OnPropertyChanged(); }
}
}
基礎知識非常簡單。
看法:
<ProgressBar Value="{Binding ProgressValue}" />
視圖模型:
public double ProgressValue { get/set with INPC }
但剩下的挑戰是以線程安全的方式從非阻塞進程設置 ViewModels ProgressValue。
您的問題缺少幫助解決此問題的詳細信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.