Silverlight 4 TextBox не проверяется - PullRequest
1 голос
/ 11 марта 2011

У нас есть приложение SL 4, использующее архитектуру MVVM и довольно чистую привязку данных между объектами и элементами управления пользовательского интерфейса. Мы создали собственный атрибут ValidationAttribute, который мы используем для украшения классов нашего домена и обеспечения проверки на уровне поля на основе хранилища данных. Если мы используем эти пользовательские атрибуты проверки и вручную проверяем наши классы, используя класс Validator, например:

        bool _isValid = Validator.TryValidateObject(this.DataContext, new ValidationContext(this.DataContext,null,null), results,true);

тогда используются пользовательские атрибуты проверки и все работает нормально.

Наша проблема заключается в том, что при простом вводе данных в текстовое поле, привязанное к полю, украшенному одним из этих атрибутов проверки, мы не видим немедленной обратной связи проверки (через красную рамку по умолчанию и стилизацию всплывающей подсказки панели инструментов).

Пример фрагмента XAML элемента управления, не проверяющего потерянный фокус:

        <TextBox Text="{Binding AssetID,Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnDataErrors=true}"></TextBox>

Любые предложения о том, что мы пропускаем или что мы можем сделать, чтобы заставить SL проверять текстовые поля при потере фокуса и не ждать, пока будет выполнено сохранение на уровне страницы (в какой момент мы просто проверяем с помощью класса Validator)?

1 Ответ

0 голосов
/ 11 марта 2011

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

Вы можете увидеть, что я имею в виду в этом посте.http://msdn.microsoft.com/en-us/magazine/ee335695.aspx

Можете ли вы опубликовать свойство, к которому привязываетесь, в частности код установщика?

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