PersonViewModel
にはDateTime DateOfBirth
というプロパティがあります。問題があるビュー内の3つのテキストボックス(日、月、年)へのViewModelのDateTimeプロパティのバインド
、私はバインディング/検証を行う方法を見つけ出すことはできません:私は、次のthis layoutため表示/テンプレートを作成したい
私が使うべき1つのDateTimeを3つの異なるバインド可能なプロパティ(日、月、年)にマッピングするDateTimeViewModel?はいの場合は、そのライフサイクルはどのようにすべきですか?つまり、
Person.DateOfBirth
のプロパティがあるので、バインドする必要がありますか?そして、1つのプロパティーが変更されたときにどのように検証を実行すればよいでしょうか、Person.DateOfBirthをそれからどのように更新すればよいでしょうか?MultiValueConverterを使用する必要がありますか?はいの場合はどうすればいいですか?私はVMの多くのプロパティをVWの単一のプロパティにMultiBindingするのに慣れていますが、ViewModelの単一のプロパティをViewの多くのプロパティにマップする必要があります。
BindingGroupはどうですか?これはそのための良いユースケースですか?
私は、Public DateTime(Offset?)DependencyPropertyを持つUserControlを作成し、コードビハインドでもう一方を翻訳するすべてのjiggeryポケリーを扱います。それはおそらくそれを行う最もクリーンな方法でしょう。エラーテンプレートを処理するのは少し難しいかもしれませんが、あなたが不正行為をすると、あまりにも多くの作業(例えば、設定可能な最小/最大の日付、編集に対するBordersの表示/色の変更など) – Will