実行中のログを生成する長時間実行操作を容易にするフォームがあります。これをMVVM / WPFで実装する良い方法は何ですか?
文字列プロパティを aTextBlock
または aにバインドしTextBox
て更新し続けることもできますが、それでは多くの文字列を生成するように思えます。または、文字列のリストを作成し、それに新しい文字列を追加し続けて、リスト ボックスにバインドすることもできます。
3番目のオプションはありますか、それとも上記のいずれかが別のオプションよりも望ましいですか?
実行中のログを生成する長時間実行操作を容易にするフォームがあります。これをMVVM / WPFで実装する良い方法は何ですか?
文字列プロパティを aTextBlock
または aにバインドしTextBox
て更新し続けることもできますが、それでは多くの文字列を生成するように思えます。または、文字列のリストを作成し、それに新しい文字列を追加し続けて、リスト ボックスにバインドすることもできます。
3番目のオプションはありますか、それとも上記のいずれかが別のオプションよりも望ましいですか?
INotifyPropertyChange
を活用したいというMVVMの考慮事項は別として、厳格で迅速な一連のルールとは対照的に、それはすべてスタイルの問題だと思います。いずれにせよ、更新ごとに新しい文字列を生成するので、メモリが制約になり、古い文字列を破棄するか、何らかの現在のバッファーを維持する必要がない限り、それほど心配することはありません。あなたは私が通常使用するアプローチを検討してきました。
これを行ったとき、私は TextBox を使用しましたが、TextBlock
. また、私は通常ObservableCollection<string>
、MVVM の利点のためだけにリストではなくリストを使用INotifyPropertyChange
し、更新のたびにそれをコレクションに追加します。