Я использую entlib 5.0 для проверки моей формы.У меня есть некоторые проблемы с управлением списком:
<ComboBox Name="cmbRs" ItemsSource="{Binding PP.ListRs}"
SelectedValuePath="Id" DisplayMemberPath="Name"
SelectedValue="{Binding PP.R, ValidatesOnDataErrors=True,
Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
Привязка данных к универсальному списку в классе PP работает нормально.Это свойство класса для selectedValue (открытый класс PP: IDataErrorInfo, INotifyPropertyChanged):
[NotNullValidator(MessageTemplateResourceName="R", MessageTemplateResourceType=typeof(Messages))]
public String R
{
get { return _R; }
set { _R = value; OnPropertyChanged("R"); }
}
Проблема заключается в том, что при выборе значения из поля со списком индикатор ошибки не исчезает.Устанавливается свойство R (видимое из консоли), и кнопка отправки включена.
Это часть ресурсов моей формы:
<eFINp:frmDialogBase.Resources>
<ControlTemplate x:Key="ValidationErrorTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Foreground="Red" FontSize="24" Text="*" ToolTip="{Binding [0].ErrorContent}"/>
<AdornedElementPlaceholder/>
</StackPanel>
</ControlTemplate>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Validation.ErrorTemplate" Value="{StaticResource ValidationErrorTemplate}"/>
</Style>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="Validation.ErrorTemplate" Value="{StaticResource ValidationErrorTemplate}"/>
</Style>
</eFINp:frmDialogBase.Resources>
Элементы управления Textbox и passbox работают нормально.