0

サブプロパティ AddressLines を持つ Address というエンティティに TextBox コントロールをバインドしています。内部検証ロジックには、AddressLines プロパティの ValidationErrors がありますが、赤い境界線を介してコントロールに「視覚的に」反映されません。

    <TextBox  Text="{Binding Path=Address.AddressLines, 
                             Mode=TwoWay,
                             UpdateSourceTrigger=PropertyChanged, 
                             NotifyOnValidationError=True}" 

              ToolTip="{Binding RelativeSource={RelativeSource Self}, 
                                Path=(Validation.Errors)[0].ErrorContent}" />

私が間違っていなければ、エンティティAddress自体が null ではなく、プロパティAddressLinesが null であるために発生します。この場合、Master-Detail エラーの場合に検証エラーをコントロールに通知する方法は?

4

1 に答える 1

1

最善の策は、IDataErrorInfo インターフェイスを使用して、オブジェクトが検証状態を制御する方法をカスタマイズすることです。

こちらの記事をご覧ください。素晴らしい例を示しています。コードに関連するサンプルが必要な場合は、Address などのクラスの一部を提供してください。何がで​​きるか見てみましょう!

于 2012-11-05T12:49:22.807 に答える