UserControl
には他のコントロールがあり、TextBox
があります。 Value
プロパティはTextBox
テキストにバインドされており、ValidatesOnDataErrors
はTrueに設定されています。WPFの別のコントロールに検証エラーテンプレートを表示
Value
プロパティバインディングで検証エラーが発生すると、UserControl
のまわりにエラーテンプレート(標準の赤い枠線)が表示されます。
TextBox
の周りに表示する方法はありますか? 私は任意のエラーテンプレートを使用することができますので、単にテキストボックスの周りに境界線を置き、その色や何かをValidation.HasError
にバインドすることはオプションではありません。
ここに私のコードです:
<DataTemplate x:Key="TextFieldDataTemplate">
<c:TextField DisplayName="{Binding Name}" Value="{Binding Value, Mode=TwoWay, ValidatesOnDataErrors=True}"/>
</DataTemplate>
<controls:FieldBase x:Name="root">
<DockPanel DataContext="{Binding ElementName=root}">
<TextBlock Text="{Binding DisplayName}"/>
<TextBox x:Name="txtBox"
Text="{Binding Value, Mode=TwoWay, ValidatesOnDataErrors=True}"
IsReadOnly="{Binding IsReadOnly}"/>
</DockPanel>
ユーザーコントロール(FieldBaseは)検証を実行のModelViewに結合するよりも、です。