0

現在、MVVM アプローチを使用して階層データを表示しようとしていますが、これまで特定のデザイン パターンを実装していませんでした。

簡単に説明すると、2 つのクラス ライブラリがあります。

  1. Log.cs
  2. バックアップ.cs

そして、私は自分のWPFプロジェクトを持っています。

簡単に言えば、Backup クラスはいくつかのコピー アンド ペースト機能を実行します。各コピー アンド ペーストは (Log クラスを使用して) ログに記録されます。

現在、ログ (リスト) はメモリに保存されています (ここに問題がある可能性があります)。操作が完了したとき(すべてのバックアップが完了したとき)に、ログが表示されるようにしたい。私の backup.cs クラスは のインスタンスを作成しMainWindow、オブジェクトをコンストラクターとして渡し、List<Log>それをデータ コンテキストにバインドします。これはうまくいきます。

ただし、双方向バインディングを使用したいので、MVVMアプローチを使用したいと考えています(ログステータス(成功または失敗(または他の状態))でフィルタリングしたい)。

それで、私の現在の設計でこれが可能だと感じる人はいますか、それともログを XML ファイル (またはテキストなど) として保存して、モデルを (LinqToXml を使用して) 作成できるようにする唯一の方法ですか? それとも別のアプローチがありますか?

4

1 に答える 1

2

現在の設計を使用してもMVVMアプローチを実装できると思います。つまり、重要な作業を行う必要がないというわけではありません。

しかし、MVVMパターンを使用するには、データベースへの接続が必要であると示唆しているようですが、そうではありません。あなたの場合、あなたのモデルはあなたのLogクラスであり、[潜在的に]Backupクラスです。

ビューモデルはLog、UIが提示したいすべてのデータが存在するクラスのインスタンスを受け入れ、フィルタープロパティ、並べ替えプロパティなど、UIの残りの部分を容易にするために必要な他のUIプロパティを公開します。等

于 2013-01-30T18:10:54.753 に答える