テキストボックスのツールチップにエラーを表示する方法の例をたくさん見てきました。TextBox のツールチップではなく、別の TextBlock にエラーを表示する方法の例を教えてもらえますか?
テキストボックスとテキストブロックが異なるビューにある場合、これを行う方法を知ることに特に興味があります。ただし、テキストブロックを含むビューは、IDataErrorInfo が実装されているデータにアクセスできます。
テキストボックスのツールチップにエラーを表示する方法の例をたくさん見てきました。TextBox のツールチップではなく、別の TextBlock にエラーを表示する方法の例を教えてもらえますか?
テキストボックスとテキストブロックが異なるビューにある場合、これを行う方法を知ることに特に興味があります。ただし、テキストブロックを含むビューは、IDataErrorInfo が実装されているデータにアクセスできます。
あなたが書いた
ただし、テキストブロックを含むビューは、IDataErrorInfo が実装されているデータにアクセスできます。
そのため、テキストボックスと同じプロパティにテキストブロックをバインドするだけの方法があります。次に、テキストブロック全体をカバーするテキストブロックの検証テンプレートを作成します。
編集:おそらくこのようなものですか?
<ControlTemplate x:Key="ValidationTemplate">
<Grid>
<AdornedElementPlaceholder Name="MyAdornedElement" />
<TextBlock Text="{Binding ElementName=MyAdornedElement,Path=AdornedElement.(Validation.Errors).CurrentItem.ErrorContent}" />
</Grid>
</ControlTemplate>
もちろん、これをテキストブロックスタイルに追加する必要があります
だから私がやったのは、エラーテキストで設定したプロパティを追加することです。Name プロパティが更新されるたびに、エラーが発生した場合は NameError プロパティを更新します。その後、そのプロパティにバインドできました。少し汚れているように見えますが、私にとってはうまくいきました。