Подтвердите привязку к дочернему объекту моей модели представления в Silverlight 4 - PullRequest
2 голосов
/ 19 ноября 2010

Я немного растерялся из-за проверки Silverlight. Я наконец-то понял, как использовать IDataErrorInfo вместе с INotifyDataErrorInfo, поэтому красные границы вокруг элементов управления начинают появляться после проверки.

Но по какой-то странной причине я не могу отобразить ValidationSummary.

В настоящее время я подозреваю, что это связано с тем, что все мои элементы управления привязаны к дочернему элементу текущей ViewModel.

Таким образом, UserControl привязан к NewCustomerViewModel, в то время как все входные элементы привязаны к Customer объекту, содержащемуся в NewCustomerViewModel, с помощью таких привязок:

<TextBox Text="{Binding Path=NewCustomer.Address, Mode=TwoWay, 
       ValidatesOnNotifyDataErrors=True, ValidatesOnDataErrors=True}"/>

Я попытался установить для свойства DataContext объекта ValidationSummary значение Привязать к свойству клиента, но это не сработало.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 13 января 2011

Я думаю, возможно, вам нужно установить целевое свойство ValidationSummary в элемент пользовательского интерфейса. Вот что сделал для меня.

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

Почему вы реализуете как IDataErrorInfo , так и интерфейсы INotifyDataErrorInfo? Хотя вы можете реализовать и то и другое, в этом нет необходимости. Интерфейс INotifyDataErrorInfo уникален для Silverlight и лучше интерфейса IDataErrorInfo (IMO). Тогда вам не нужно устанавливать для ValidatesOnDataErrors значение True в ваших привязках (поскольку вы не используете связанный интерфейс), и вам фактически не нужно устанавливать для свойства ValidatesOnNotifyDataErrors значение True, так как True является значением по умолчанию. 1005 *

Однако на самом деле это не отвечает на ваш вопрос :). Мне, вероятно, понадобятся некоторые подробности (в основном ваш XAML), чтобы помочь вам. Есть ли шанс собрать пример проекта, демонстрирующего проблему?

Chris

...