3

スニペットを使用してロケーター クラス内に新しい ViewModel を作成すると、クリーンアップ メソッドが作成されますが、メインから既に使用可能なメソッドがあるため、エラーが発生します....

それらをすべてマージする必要がありますか??

または、たとえばメソッドの名前を Cleanup[ビューモデルの名前] に変更する必要があります。

私はここで少し混乱しています

もう 1 つ質問したいのは、命名規則に関するものです。

「MAIN」で使用される命名規則に従おうとしました...

したがって、CreateLogin、ClearLogin、Login (バインディング用の非静的プロパティ) などがあります。

CreateLoginViewModel、ClearLoginViewModel などを使用した方がよいのではないでしょうか??

ちょっと興味があるんだけど

ありがとう

4

1 に答える 1

4

このスニペット(および一般的にはViewModelLocator)は作業が必要であり、V4では大きな変更になる予定です。

はい、その目的は、スニペットによって生成されたCleanupメソッドをすでに利用可能なものとマージすることでした。アイデアは、ViewModelLocator.Cleanup()を呼び出すだけで、すべてのVMをクリーンアップすることができるということです(たとえば、ローカルストレージに状態を保持したり、ストリームを閉じたりするなど)。スニペットは既存のメソッドを変更できないため、Cleanupメソッドを複製することにしました。コンパイルされないので、開発者はそれらをマージすることを知っている必要があります。

とはいえ、VMタイプごとにCreateMain、ClearMainなどを用意するだけでは不十分です。これは弱い実装であることに私たちは皆同意していると思います。将来的には汎用のViewModelLocator(V4)を提供することで改善したいと思います。

命名規則に関しては、それらは単なる規則です。「ViewModel」と入力するのにうんざりしていましたが、自由に独自の規則を使用してください。私が言ったように、スニペットはおそらくV4ではもう必要ないでしょう。ご不便をおかけして申し訳ありません;)(必要に応じてスニペットを簡単に変更できることに注意してください)

乾杯、ローラン

于 2010-06-04T09:22:35.363 に答える