MVVMでWPFを使用しています。次のアーキテクチャからUIに進行状況メッセージを取得する方法についてアドバイスが必要です。
UI-ファイル処理ウィンドウ。ViewModel-Message、ProgressValueのプロパティがありますメッセージはUIテキストブロックにバインドされ、ユーザーが他の作業をしているときにバックグラウンドで何が起こっているかについてUIを更新します。
ユーザーが[ファイルの処理]をクリックすると、ViewModelProcessFileが呼び出されます。
ビューモデルはファイルを直接処理しません。次に、ファイルの処理を行う別のアセンブリを呼び出します。
これがコードの断片です(実際のコードをここに置くことはできませんでした):
XAML:
<StackPanel>
<TextBlock Text="{Binding Message}" />
<ProgressBar MinWidth="250" Height="25" IsIndeterminate="True" />
</StackPanel>
現在、IsIndeterminateがあります。これを変更して、完了率を表示します。
ViewModel
private string _message;
public string Message
{
get
{
return _message;
}
set
{
_message=value;
OnPropertyChanged("Message");
}
}
private int _progressValue;
public int ProgressValue
{
get { return _progressValue;}
set
{ _progressValue=value;
OnPropertyChanged("ProgressValue");
}
}
public void StartProcess(string fileName)
{
ThreadStart tStart = delegate()
{
differentAssembly.StartProcess(string fileName);
};
Thread processThread = new Thread(tStart);
processThread.IsBackground = true;
processThread.Start();
}
以上で、異なるアセンブリから進捗情報を取得するにはどうすればよいですか。これは、進捗状況とパーセンテージを示すメッセージになります。
ご協力いただきありがとうございます。