1

私はいくつかのデータバインディングの魔法をやろうとしています。出荷を一覧表示する出荷ビューがあり、リストのフィルタリングと注文機能を提供しています。フィルター文字列ボックス、配信ステータス フィルター (チェックボックス)、および注文ラジオボタンは、ViewModel のプロパティにデータ バインドされています。状態を保存する機能を追加したいので、コントロールの状態を xml ドキュメントに保存することでこれを行うことにしました。以前は、データバインディングを使用して値を読み書きするだけで、ほとんど問題なくこれを行っていました。

しかし、今、私は困惑しています。私のフィルター コントロールは現在、ViewModel の項目にデータ バインドされています。ロード時にデータバインディングを xml から ViewModel に、またはその逆に変更するコードを書くことはできますが、それは面倒です。

2 つの等しいソースにバインドし、それらを同時に更新する機能を実現するために使用できるメカニズムはありますか?

4

2 に答える 2

2

これは、ビューモデルの懸念のように聞こえます。

保存した値をビューモデルにロードして、公開するデータをビューモデルに決定させてみませんか?

そうすれば、ビューはデータの管理に関係する必要はありません。

于 2010-08-30T14:48:37.803 に答える
1

私が知っているものはありません。

私の意見:とにかくこれを行うことはありません-データコンテキストがビューモデルであり、ビューモデルにフィルターのプロパティがある場合、フィルターの状態を維持するために、関連するビューモデルの状態を永続化および取得する必要があります。controlstate を保存し、それを取得して設定し、新しい controlstate に基づいてビューモデルを設定しようとすると、より多くの作業が必要になり、バグが発生しやすくなります。

于 2010-08-30T14:38:18.653 に答える