2016-07-22 16 views
0

У меня очень простая форма wpf, которая содержит текстовое поле, которое привязывается к бизнес-объекту CSLA (версия 4.5.7). Я назначаю свойство AText a String.Empty.wpf текстовое поле ошибка поставщика не работает

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

Почему провайдер ошибок не активируется при загрузке окна?

Спасибо

МОФ
<Grid> 
    <TextBox Height="50" Width="300" Text="{Binding AText, Mode=TwoWay, NotifyOnTargetUpdated=True, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}" /> 
    </Grid> 

C#

namespace TestNameSpace 
    { 
    [Serializable()] 
    public class CSLAClass : BusinessBase<CSLAClass> 
     { 
      public CSLAClass() 
      { 
      AText = String.Empty; 
      } 
     public static PropertyInfo<string> ATextProperty = RegisterProperty<string>(p => p.AText); 
     [Required, MinLength(5,ErrorMessage ="The Minimum is 5"), MaxLength(10)] 
     public string AText 
      { 
      get { return GetProperty(ATextProperty); } 
      set { SetProperty(ATextProperty, value); } 
      } 
      } 
     } 

ответ

0

Вы звоните BusinessRules.CheckRules до возвращения из вашего DataPortal_Create/DataPortal_Fetch? Правила не запускаются автоматически из них, поэтому объект начнет действовать как действительный.

 Смежные вопросы

  • Нет связанных вопросов^_^