2

TextBox数字と小数点のみを許可するを作成しようとしています。コードを書くのに助けは必要ありませんが、概念についてです。MVVMアプリケーションの設計に使用しWPFていますが、イベントを使用するか、イベントからコマンドを使用するかがわかりません。

私はこのトピックに関していくつかの異なる視点を読みました:

  • (これは少し極端で、「逆効果」と呼ばれることもありますが、の「純度」を維持していることがわかりましたMVVM:の背後にコードを配置しないでくださいView。これを防ぐには、MVVMLightLibraryを使用します。つまり、イベントをコマンドに変換して、すべてをで制御できるようにしますViewModel
  • (2番目の引数は(多分過度の)「純度」を支持しませんMVVM:すべてをで処理する必要はなく、特定の要件を処理ViewModelするために作成しても問題ありません。EventsUI

単純さのために、私は2番目のオプションにもっと傾いていました。前に述べたように、最初のオプションは少し極端に思えます。私の特定のケース(数値のみを作成するTextBox)では、ほとんどの人が上記のオプションのいずれか、または私が発見していないオプションのいずれかを好むでしょうか?

4

2 に答える 2

5

これは、.csファイルのイベントとして処理する必要があります。コントロールに機能を追加しようとしています。TextBox内のテキストのように、それらはすべて.csファイルで処理されます。ViewModelは、Controlの機能ではなく、そのDataforViewに基づいてデータと動作を保持する責任があります。

于 2013-02-21T16:01:01.107 に答える
0

これは、ViewModelを使用するのではなく、Viewで直接処理する必要がありますが、車輪の再発明を行う必要はありません。

正確な数値要件に応じて、Extended WPF Toolkit(NUGetから入手可能)のDoubleUpDownやIntegerUpDownなどのコントロールを使用します。

于 2013-02-21T16:19:20.290 に答える