簡體   English   中英

使用帶有 MVVM 模式的 WPF 實現進度條(無 BackgroundWorker)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM