WPF デスクトップ アプリケーションを作成するだけです。さまざまな検証を使用しています。NotifyOnValidationError=True,ValidatesOnDataErrors=True,ValidatesOnExceptions=True を使用している場合は TextBox で、正常に動作していますが、TextBlock で同じものを使用している場合、ブロック全体が赤い記号で強調表示されます .... エクスクラが必要です。(!)マークですNotifyOnValidationError=True,ValidatesOnDataErrors=True,ValidatesOnExceptions=True
。私は何をすべきか ?
1 に答える
1
Validation クラスで定義されている既定のエラー テンプレートをオーバーライドする場合は、単純に ControlTemplate を定義し、それを TextBlockValidation.ErrorTemplate
添付プロパティに割り当てることができます。
<TextBlock
Validation.ErrorTemplate="{StaticResource TextBlockErrorTemplate}">
<TextBlock>
Resource ディクショナリ内で、次のようにエラー テンプレートを定義できます。
<ControlTemplate x:Key="TextBlockErrorTemplate">
<DockPanel LastChildFill="True">
<TextBlock DockPanel.Dock="Right"
Foreground="Red"
FontSize="14pt"
Margin="-15,0,0,0"
FontWeight="Bold">!
</TextBlock>
<AdornedElementPlaceholder Name="controlWithError" />
</DockPanel>
</ControlTemplate>
于 2012-06-22T02:47:05.070 に答える