2009-12-03 2 views
0

Что такое хороший способ интегрировать проверку нескольких полей с помощью IDataErrorInfo?WPF IDataErrorInfo многократная проверка поля

Пусть говорят, что у меня есть диалог с 3 текстовые поля для FTP информации

  • URL
  • Имя пользователя
  • Пароль

Я поставил атрибут Обязательно на полях (взять на себя обычный TextBox для пароля).

Я проверяю подключение ftp, когда пользователь нажимает «OK». На данный момент я показываю диалог, но было бы неплохо, если бы я мог вызвать стиль ошибки проверки при ошибках соединения ftp.

Я просмотрел Validation.MarkInvalid, но не понимаю, как его использовать.

var be = GetBindingExpression(xamlURLField); 
Validation.MarkInvalid(be, new ValidationError(-- WhatValidationRuleToPutHere --, be, "Can't connect to ftp", null) 

ответ

1

Вы немного смешаете проблемы здесь. Проверка выполняется для проверки ввода пользователя на базовом уровне. Выполнение некоторой последующей проверки должно выполняться по-разному и, как правило, более сложно, чем вы хотели бы включить в области «Проверка». Когда что-то подобное тяжело, обычно есть причина, и именно по этой причине.

Я хотел бы попробовать попытаться соединиться как отдельный шаг в вашем взаимодействии с пользователем и отобразить сообщение вручную.