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); }
}
}
}