0
私のItemsControlにValidation.Errorsを表示する際に問題が発生しています。 Validation.Errorsには何も含まれていません。私はBindingGroupを使用していませんが、独自のカスタムTextBoxを使用しています。ここではItemsControlのコードは次のとおりです。私はItemsControlにに結合したときにValidation.Errorsは何も含まれていない理由WPF Validation.Errors Contains Nothing
<ItemsControl x:Name="errorList" ItemsSource="{Binding Path = (Validation.Errors), ElementName=gvAddCustomer}" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock FontSize="18" Text="{Binding Path=ErrorContent}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
My TextBox uses the ErrorTemplate to display the errors beside the TextBox control and it displays correctly with the error message. Here is the style:
<Style x:Key="TextBoxStyle" TargetType="TextBox">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<DockPanel LastChildFill="True">
<TextBlock DockPanel.Dock="Right"
Foreground="Orange"
FontSize="12pt"
Text="{Binding ElementName=MyAdorner, Path=AdornedElement.(Validation.Errors)[0].ErrorContent}">
</TextBlock>
<Border BorderBrush="Red" BorderThickness="2">
<AdornedElementPlaceholder Name="MyAdorner" />
</Border>
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
誰も説明できますか?
ご回答いただきありがとうございます。私はあなたが疑問を誤解していると思います!私はあなたがTextBoxに何も入れていない場合でも検証を起動するカスタムTextBoxを作成しました。しかし、ItemsControlにバインドされているValidation.Errorsプロパティは、Windowが無効な場合でもnullを返します。 – azamsharp
あなたは探しているエラーを作成するために何を使用していますか? 私のコードビハインドクラスでは、 "NameRequiredRule"と呼ばれるバリデータークラスがあります。検証エラーがある場合、エラーオブジェクトを追加します。 – Jay