ValidationSummary, чтобы показать не-форму проверки - PullRequest
1 голос
/ 05 октября 2011

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

Я решил создать ViewModel, который реализует INotifyDataErrorInfo, и, на мой взгляд, я использовал бы элемент управления ValidationSummary для отображения этих ошибок.

При этом я думал, что элемент управления ValidationSummary будет прослушивать событие INotifyDataErrorInfo.ErrorsChanged в моей ViewModel и обновляться соответствующим образом при изменении состояния ViewModel.

К сожалению, это не такt работает.

Если я добавлю TextBox в свой View и свяжу его со свойством в моей ViewModel ... любые ошибки проверки, возникающие в результате изменения значения в TextBox, действительно появятся в сводке -что хорошо подтверждает, что я правильно реализовал INotifyDataErrorInfo.

Действительно ли элемент управления ValidationSummary действительно зависит от взаимодействия / привязки пользовательского интерфейса для отображения ошибок?

Предполагается ли, что он должен прослушивать любые сообщения отINotifyDataErrorInfo независимо от того, как правильно составлен пользовательский интерфейс?

Заранее благодарим за помощь.

Ответы [ 2 ]

1 голос
/ 05 октября 2011

Элемент управления ValidationSummary должен находиться в том же контейнере, что и элементы управления, которые проверяются для отображения ошибок.Мне не удалось отобразить проверки на уровне объекта, и я не нашел много информации по этой теме.

Как я понимаю, вам нужно создать собственный элемент управления сводкой проверки, который прослушивает событие и связывается с источником ошибки..

0 голосов
/ 06 октября 2011

Я думаю, что цель использования INotifyDataErrorInfo по таким причинам неверна. Вот что говорит MSDN:

Определяет члены, которые классы сущностей данных могут реализовать для обеспечения настраиваемая синхронная и асинхронная поддержка проверки. Интерфейс INotifyDataErrorInfo

А теперь вопрос: нам нужно реализовать этот интерфейс? Я предполагаю, что для информирования пользователя о результате импорта или экспорта данных, используя шаблон MVVM и INotifyPropertyChanged будет более чем достаточно.

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