2016-07-22 3 views
0

CSLA 비즈니스 개체 (버전 4.5.7)에 바인딩되는 텍스트 상자가 포함 된 매우 간단한 wpf 양식이 있습니다. 나는 속성을 할당하고있다 ATextString.Empty.wpf 텍스트 상자 오류 공급자가 작동하지 않습니다.

오류 공급자는 필수 입력란이므로 창을 처음로드 할 때 활성화되어야합니다. 그러나 최소 문자 속성 필드가 5 자로 설정되어 있으므로 처음 문자를 입력 할 때 활성화됩니다. 상자에서 모든 문자를 지울 때 오류 공급자도 그대로 유지됩니다.

창이로드 될 때 오류 공급자가 활성화되지 않는 이유는 무엇입니까?

는 전에 DataPortal_Create/DataPortal_Fetch에서 돌아에 BusinessRules.CheckRules를 호출하면

<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

WPF 감사? 규칙은 자동으로 실행되지 않으므로 오브젝트는 유효한 것으로 시작합니다.