0
2行2列の単純なWPFグリッドがあります。 2番目の列には、いくつかのビューモデルのプロパティにバインドされているTextBox-esが含まれています。問題ボックスの真上に検証エラーを表示するには、これらのTextBoxes検証のErrorTemplatesをカスタマイズする必要があります。エラーメッセージが視覚的に行の上に重なったときにコードWPF検証エラーテンプレート表示の問題
<Style TargetType="Control" x:Key="ValidationControlStyle">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<StackPanel>
<TextBlock Foreground="Red"
Text="{Binding ElementName=ErrorAdorner, Path=AdornedElement.(Validation.Errors)[0].ErrorContent}"/>
<AdornedElementPlaceholder x:Name="ErrorAdorner"/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
後
は非常に醜い結果を提供します(下図を参照)私は(だけの問題でフィールド上の検証エラーを配置することができますどのように
グリッドの行の高さを増やす必要があります)?
はたぶんメインUIレイヤでの検証のTextBlockを置きたい場合は、あまりにもそれが一般的なようにするいくつかの方法があります確信している
:
バインディング構文は次のようなものでなければなりません'Validation.HasError'に基づいてDataTriggerを使用して可視性を設定しますか?私は正確なバインディングの構文を覚えていませんが、[この回答](http://stackoverflow.com/a/8978041/302677)は動作するはずです。 – Rachel
@レイチェル、はい、まさに私が最後にしたことです。してください、質問に答えると私は答えとしてあなたのアドバイスをマークします。ありがとうございました! –