Облегченная структура проверки для WPF с использованием M-V-VM - PullRequest
4 голосов
/ 14 июля 2009

При реализации MV-VM в проекте и следуя совету Карл Шиффлетт о реализации инфраструктуры валидации, но на самом деле не хочу использовать полную платформу (например, Ocean) только для части валидации.

Какую среду проверки вы рекомендуете, которая работает с шаблоном M-V-VM?

Ответы [ 2 ]

1 голос
/ 14 июля 2009

Я могу говорить только из опыта , а не , использующего полную платформу валидации, поскольку я просто придерживался того, что изначально предлагает WPF.

В моем проекте я реализовал интерфейс IDataError в своих классах сущностей / данных, а также реализовал частичный метод "OnValidate", который соблюдает Linq-To-Sql, а затем в качестве статических / общих членов классов сущностей, например, проверенные домашние помощники, которые предоставляют внутреннюю логику для реализации методов IDataError.Items и OnValidation.

Тогда это просто случай добавления ValidatesOnErrors = True, ValidatesOnExceptions = True ко всем привязкам, описанным в XAML. Конечный результат обнадеживает - способность WPF предоставлять визуальную обратную связь по недействительным данным хороша, а усилия по внедрению проверки минимальны.

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

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

Вы можете взглянуть на WPF Application Framework (WAF) , который поставляется с облегченной средой проверки.

Он использует платформу валидации .NET Framework System.ComponentModel.DataAnnotations и объединяет ее с поддержкой IDataErrorInfo привязки данных WPF.

...