Проблема с сообщением об ошибке управления DataForm - PullRequest
0 голосов
/ 04 октября 2011

Я занимаюсь разработкой веб-приложения Silverlight и застрял на текущей проблеме.

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

Чтобы было понятно:

Имя - обязательно

Тип двигателя - не требуется

Шины - не требуется

Тип автомобиля - не требуется

Количество дверей - требуется только при выборе типа автомобиля

как я могу это сделать?

Редактировать: Я хотел бы иметь возможность показывать сообщения об ошибках внизу, а также выделять необходимые элементы управления

1 Ответ

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

То, что вам нужно сделать, называется проверкой на уровне объекта.Вместо проверки 1 свойства - вам нужно проверить весь объект.

Для этого вам нужно реализовать INotifyDataErrorInfo.Кроме того, для вашего вспомогательного объекта вам потребуется обработчик установки свойства для CarType.Когда это изменится - вы увидите ошибку для NumberOfDoors (если она не установлена).То же самое, если установить NumberOfDoors - вам нужно вручную очистить эту ошибку.

Здесь вы можете увидеть несколько хороших примеров того, как это делается: http://www.silverlight.net/learn/data-networking/validation/implementing-data-validation-in-silverlight-with-inotifydataerrorinfo

Также в качестве примечания- очень скоро вы максимально увеличите возможности DataForm, если вам понадобятся более сложные сценарии.

...