私は MVVMCross (およびモバイル全般) を初めて使用し、エラー メッセージ (FluentValidation ValidationResults や IDataErrorInfo など) へのバインドを実装しようとしています。
できれば、直接バインドできるエラーのような辞書が必要です。
bind(label).To(vm => vm.Errors["Name"])
ObservableDictionary ( http://blogs.microsoft.co.il/blogs/shimmy/archive/2010/12/26/observabledictionary-lt-tkey-tvalue-gt-c.aspx ) を試しましたが、取得できませんViewModel がエラーを追加したときに通知されます。
予想どおり、ビュー モデルでアクセスをプロパティとしてラップすることは機能しますが、面倒になる可能性があります。
public string NameError { get { return Errors.ContainsKey("Name") ? Errors["Name"] : null; } }
カスタム バインディングの作成も検討しましたが、ViewModel にアクセスして必要なフィールド名を渡す方法がわかりません。エラーまたはプロパティ名を渡すことができるようです。
最後に、無効な変換 (つまり、int の 22ab) はビュー モデルにプッシュ ダウンされないため、これらのエラーを取得する方法はありますか? 代わりに、データがビュー モデルにプッシュされる前に検証する必要がありますか? iOS の textFieldShouldEndEditing や ShouldChangeCharacters のように? 必要に応じて、カスタム コントロールをラップできます。
検証フィードバックを提供するために Xamarin/MVVMCross で使用している他の手法は何ですか?
前もって感謝します。