MVVMパターンを使用してWPFアプリケーションを構築するときに、依存関係プロパティをどこに配置するかについて混乱しています。それはモデルまたはビューモデルに含まれますか?
編集
初期の回答(ありがとう)を見た後、私はまだ混乱していることに気付いたので、誰かが私にこれを説明するのを助けるために、私はより詳細を与えています。
ステーションというクラスがあります。測量技師や土木技師が道路沿いの長さを表すために使用します。ほとんどの場合、ステーションは2つだけですが、いくつかの装飾があります。まず、フォーマットが異なります。距離が100フィートを超える場合は、フォーマットする別の方法として+記号を追加します。したがって、1234.56フィート先には、ステーション12+34.56がある可能性があります。(これは私のポイントには十分なので、他の装飾はスキップします。)
したがって、特別なフォーマットのロジックは、モデルのクラスであるStationにあります。ビューのTextBoxで1234.56のユーザー入力を受け取り、それを「12+34.56」のテキスト値に強制変換したいと思います。したがって、TextBoxでユーザーにモデル内の値へのアクセスを許可する必要があるため、依存関係プロパティである必要があります。(それは正しいですよね?)しかし、TextBoxとStationの間を行き来する方法を強制/解析/理解するためのビジネスロジックは、Stationクラスに存在する必要があります。(右?)
さらに、後でユーザーが道路の図をクリックして駅の値を設定できるようにします。これには、マウスの移動に応じて値を動的に更新したり、データポイントを発行したときに値をロックしたりすることが含まれます。(これで、なぜ私がこれを簡潔にしようとしたのかがわかります。)
それで、これは、特に動的データポイントが後で関与する可能性がある場合に、依存関係プロパティを作成したいものではありませんか?そうでない場合、MVVMを使用してテキストボックスアイテムをステーションにフックするにはどうすればよいですか?(私は質問をする前にこれを本当にたくさん研究しましたが、成功しませんでした。)
- ポール