..私はバリにパラメータとして、ユーザーコントロールまたはテキストブロックを与えることができれば
問題が解決することができますが、私はそうする方法を見つけることができませんでしたあなたはに組み込まれた2つのバリデーションのプロパティを使用して検証を試みることができますBinding
クラス:ValidatesOnExceptions
およびValidatesOnDataErrors
。
ValidatesOnExceptions
では、変換処理中に例外がスローされた場合、バインディングは無効です。この場合、カスタムコンバータを作成し、ユーザーコントロールをパラメータとして渡してから、バインディングが無効な場合はコンバーターに例外をスローすることができます。 ValidatesOnDataErrors
と
<Binding ValidatesOnExceptions="True"/>
源がIDataErrorInfo
を実装しIDataErrorInfo.Error
プロパティの非ヌル/空の文字列を返す場合、結合は無効です。あなたのソースがこのインタフェースを実装している、または実装できる場合は、ソース側のデータを検証できます。
<Binding ValidatesOnDataErrors="True"/>
EDIT:コンバータでデータを必要とし、すべてのデータロジックをバリデータから外してしまう問題を解決しました。 – dalind