Запуск проверки данных в WPF - PullRequest
2 голосов
/ 13 октября 2009

У меня проблема с проверкой в ​​WPF.
У меня есть пользовательский элемент управления, в котором есть несколько текстовых полей, привязанных к модели данных.
Проверка осуществляется с IDataErrorInfo.

Я хочу, чтобы проверка запускалась только тогда, когда пользователь нажимает кнопку «Отправить данные», поэтому я использовал UpdateSourceTrigger="Explicit" с привязкой всех этих текстовых полей.

Все работает нормально, и проверка запускается только тогда, когда пользователь нажимает кнопку, где я обновляю источники данных.

Но этот пользовательский элемент управления может быть скрыт или показан, и когда я изменил видимость с дисплея / на скрытый, а затем обратно на дисплей, проверка запускается.

Есть ли способ контролировать валидацию на этом этапе?

1 Ответ

0 голосов
/ 21 декабря 2009

Это код, который я использую

Привязка к текстовому полю

<TextBox
        AutomationProperties.AutomationId="StreetNameTextBoxId"
        Height="20" Margin="0,0,5,0" FontSize="12" Name="_streetNameText"
        AcceptsReturn="False" AcceptsTab="False" Focusable="True"
        Text="{Binding ElementName=_this, Path=SearchParameters.EnteredAddress, UpdateSourceTrigger=Explicit}">

Код, который выполняет проверку и поиск (который связан с нажатием кнопки «Поиск»)

 private void ExecuteSearch() { 
        _streetNameText.UpdateDataSource();
        if (ViewModel.CustomerSpecification.IsValid())
            PerformActionInBackground(delegate{PerformSearch();});
    }
...