Проверка Silverlight 3 с использованием Prism - PullRequest
1 голос
/ 15 мая 2009

Я разрабатываю приложение SL3 с помощью Prism. Мне нужна поддержка проверки (как на уровне поля (в установщике связанного свойства), так и перед сохранением (на уровне формы)), включая сводку проверки, отображаемую при нажатии кнопки сохранения.

Но примеры, которые я могу найти, - это SL3 с большим количеством кода в коде (очень не крутой и не-Prismy) или WPF.

Кто-нибудь знает справочное приложение с какой-то действительной проверкой, на которую я могу посмотреть?

Ура, Али

1 Ответ

3 голосов
/ 19 мая 2009

В настоящее время от Microsoft их нет, но я передам это в команду PRISM завтра, чтобы посмотреть, сможем ли мы получить базовый пример проверки формы в следующей версии PRISM.

При этом вы можете установить валидатор для каждой формы, который по существу проверяет каждое поле (семантическая и / или синтаксическая проверка) и, если все пройдет, вернет состояние истина / ложь.

Обычно я делаю это, прикрепляя метод CanSave к своим командам, например:

SaveOrderCommand = new DelegateCommand<object>(this.Save, this.CanSave);

private bool CanSave(object arg)
{
     return this.errors.Count == 0 && this.Quantity > 0;
}

Затем в this.CanSave я затем помещаю либо базовую проверку в эту кодовую базу, либо я вызываю кучу других валидаторов в зависимости от контекста - некоторые будут общими для всех модулей (т.е. IsEmailValid был бы один Валидатор, который я поместил бы в мой Инфраструктурный Модуль как синглтон и передал бы в мою строку, это было бы тогда true / false в результате). Как только они все пройдут, убедитесь, что CanSave возвращает true. Если они потерпят неудачу, CanSave вернет False.

Теперь, если они терпят неудачу, и вы хотите вызвать дружественное напоминание пользователю о том, что это не удалось, есть ряд методов, которые вы можете использовать здесь. Как правило, я отмечал указанный элемент управления при проверке как «неуспешный» .. (я написал для вас свое собственное мнение, так что вам решать, какие наборы инструментов вы могли бы использовать здесь - http://www.codeplex.com/SilverlightValidator неплохой).

Теперь я обычно хотел бы больше работать с формами, на которых есть проверка, не только выделяя упомянутый элемент управления (красное поле, значок и т. Д.), Но и более подробно объясняя пользователю, что от них требуется - таким образом, индивидуальный подход решение, которое я выбрал.

В конце дня вам придется проделать некоторую тяжелую работу, чтобы проверить вашу конкретную форму - но найдите способы повторно использовать валидаторы там, где они имеют смысл (электронная почта, SSN и т. Д. Просты). для повторного использования).

НТН

Скотт Барнс - менеджер по продуктам Rich Platforms - Microsoft.

...