ValidationSummary не показывает ошибку проверки в выпадающем списке - PullRequest
0 голосов
/ 11 октября 2010

В silverlight 4 у меня есть выпадающий список и другие элементы управления. ValidationSummary может и показывает ошибки проверки элемента управления, кроме ошибок в выпадающих списках. Вот мой XAML

<ComboBox x:Name="cmbGender" Grid.Row="6" Grid.Column="1" Margin="5,5,0,0" Width="100"
        HorizontalAlignment="Left" VerticalAlignment="Center" 
        sdk:ValidationSummary.ShowErrorsInSummary="True"
        ItemTemplate="{StaticResource cmbGenderItemTemplate}"
        IsEnabled="{Binding IsAddingOrEditing}" 
        ItemsSource="{Binding Genders}" 
        SelectedItem="{Binding EmployeeDetails.Gender, Mode=TwoWay, 
        ValidatesOnDataErrors=True, ValidatesOnNotifyDataErrors=True, 
        ValidatesOnExceptions=True, NotifyOnValidationError=True}" 
        />

И в моей виртуальной машине у меня есть привязка метаданных к SelectedItem

    [Display(Name = "LabelGender", ResourceType = typeof(AnnotationResources))]
    [Required(ErrorMessageResourceName = "ValidationGenderRequired",
              ErrorMessageResourceType = typeof(AnnotationResources))]
    public GenderData Gender
    {
        get
        {
            return _gender;
        }
        set
        {
            if (value != _gender)
            {
                _gender = value;
                this.RaisePropertyChanged("Gender");

                Validator.ValidateProperty(
                    _gender,
                    new ValidationContext(this, null, null) { MemberName = "Gender" });
            }
        }
    }

И это мой XAML для проверки. Резюме

<sdk:ValidationSummary Margin="0,5,0,0" Target="{Binding ElementName=gridDetails}" />

Но если я вызываю Validator.TryValidateObject, эти ошибки (ошибки comboBoxes) есть.
Помогите, пожалуйста, уже потраченные дни на поиски этой проблемы без удачи.

1 Ответ

0 голосов
/ 10 ноября 2010

Моя проблема была в том, что я проверял новое значение свойства и когда удаляю эту строку:

if (value != _gender)

Все отлично работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...