Caliburn.micro-コンベンションベースのバインディングで例外を検証することは可能ですか?

StackOverflow https://stackoverflow.com/questions/4261138

質問

バインディングを行うときは、例外を検証する必要があります。これはCaliburn.microを使用して可能ですか?

今、私はどのように見えるコードを持っています

<TextBox x:Name="FirstName" />

しかし、私は例外について検証を受けません。に変更した場合

<TextBox Text="{Binding FirstName, Mode=TwoWay, ValidatesOnExceptions=True}" />

その後、適切な検証が得られますが、素晴らしいコンベンションベースのバインディングを失います。何か案は?

役に立ちましたか?

解決

はい。絶対。これを行うには、ConventionManager.ApplyValidationを独自の検証チェックとアプリケーションコードに置き換える必要があります。これは、フレームワークで使用するために準備されるように、ブートストラッパーの構成方法でこれを行います。あなたはこのようなものを持っているかもしれません:

ConventionManager.ApplyValidation = (binding, viewModelType, property) => {      
   binding.ValidatesOnExceptions = true; 
};
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top