1

一般に、ViewModel の初期化にはどのアプローチが望ましいでしょうか?

アクティブ

ビュー モデル クラスのインスタンスが初期化され、独自のデータ収集が実行されます (ドロップダウン リストの作成など)。

受け身

ビュー モデル クラスのインスタンスが初期化されますが、呼び出し元はビューモデル オブジェクトのプロパティ (ドロップダウンなどのリスト) も設定します。

これらの「ダイアログ」ビューモデルの方が使いやすいと思われるため、最初のアプローチを好むと思いますが、呼び出し元のビューモデルにそのデータの一部が既にある状況では、それを渡すと有益な場合があります。

よろしくお願いします。

4

1 に答える 1

0

私はこのActiveアプローチを好みますが、ハイブリッド アプローチを使用できると思います。

ほとんどの VM プロパティは (バインドのために) パブリックになるため、プロパティ セッターを介して割り当てることにより、呼び出し元の VM からダイアログ VM に任意の値を渡すことができます。

ダイアログがアクティブになると (ダイアログなのでライフサイクルがあると思います)、プロパティが設定されていないかどうかを確認し、不足しているものをロードできます。

もちろん、私はおそらく「アクティブ」アプローチを採用するでしょう。ほとんどのダイアログは大量のデータをロードする必要はありませんが、マイレージは異なる場合があります。

于 2013-01-04T10:56:55.820 に答える