내가 다음로드 내 창에 이벤트가 : 위의 초기화 각 속성에 대한DataContext가 설정된 경우 내 유효성 검사 규칙이 실행되지 않는 이유는 무엇입니까?
void Window_Loaded(object sender, RoutedEventArgs e) {
this.DataContext = new MyObject() {
MyDateTime = DateTime.Now,
MyNotEmptyString = "Not Empty",
MyNotUpperCaseString = "not upper case",
MyInteger = 20,
MyIntegerInRange = 1,
MyDouble = 4.56
};
}
을, 나는 그것에 결합하는 TextBox
을 가지고 각각의 그와 관련된 자신의 유효성 검사 규칙 (들)을 가지고.
this.DataContext
이 설정되었을 때 처음으로 내 유효성 검사 규칙이 실행되지 않지만 양식이 정상적으로 사용될 때 작동합니다 (TextBox
이 초점을 잃을 때 실행 됨). 이것의 뒤에 이유는 무엇 일 수 있 었는가? 내가 UpdateSourceTrigger="PropertyChanged"
설정했지만 그 도움이되지 않았다.
편집 : 여기 는 속성에 바인딩되는 TextBox
의 예입니다
<TextBox Name="MyDoubleField">
<TextBox.Text>
<Binding Path="MyDouble">
<Binding.ValidationRules>
<local:TextIsDouble/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
당신이 IDataErrorInfo 요구 사항을 의미합니까? CSLA 유효성 검사 규칙? – opedog
IDataErrorInfo를 사용하고 있지 않습니다. 내가 의미하는 예를 보려면 편집 된 질문을 참조하십시오. 여전히 명확하지 않은 경우 알려 주시면 더 게시하겠습니다. – Pwninstein