3
WPF에서 비동기 MVVM-ish 유효성 검사를 수행하는 것에 대한 권장 사항이 있습니까? INotifyDataErrorInfo에 대해 읽었지만 불행히도 Silverlight에서만 사용할 수 있습니다.WPF 비동기 유효성 검사 모범 사례?
감사합니다.
WPF에서 비동기 MVVM-ish 유효성 검사를 수행하는 것에 대한 권장 사항이 있습니까? INotifyDataErrorInfo에 대해 읽었지만 불행히도 Silverlight에서만 사용할 수 있습니다.WPF 비동기 유효성 검사 모범 사례?
감사합니다.
IDataErrorInfo는 WPF의 데이터 유효성 검사 메커니즘입니다. Microsoft의 일관성을 좋아하지 않습니까? ;)
은 다음과 같이 당신의 ViewModel에 IDataErrorInfo 구현 :
이 재산 (일명이 []) 검증의 내부public class MyViewModel : IDataErrorInfo
{
public string Error
{
get {
return GetErrorStringForThisViewModelInGeneral();
}
}
public string this[string columnName]
{
get
{
string result = null;
switch (columnName)
{
case "Quantity":
if (Quantity <= 0)
result = "Quantity must be greater than 1.";
break;
}
return result;
}
}
, 당신은 EnterpriseLibrary, 속성을 사용하여 사용자 정의 유효성 검사기, 또는 아무것도의 유효성 검사기를 사용할 수 있습니다 너는 좋아한다. 나는 당신이 시작하도록 기본 구현만을 보여줄 것입니다.
죄송합니다. 비동기 유효성 검사 - 웹 서비스를 통해 Quantity가 유효한지 확인합니다. – Alberto
유효성 검사를 비동기로 만들려면 유효성 검사를 수행하기 위해 스레드를 회전시켜야합니다 (응용 프로그램 중단 방지). 그러면 결과가 유효성 검사중인 속성 (예 : Quantity)에서 NotifyPropertyChanged를 반환합니다. 알림이 발생하면 WPF는 필드의 유효성을 다시 검사하므로 사용자가 원격으로 다시 유효성을 검사하지 않도록 조건을 설정할 수 있어야합니다 (마지막 유효성 검사 이후 값이 변경되지 않았으므로). –
그게 내가 생각한거야. 부끄러운 일이라서 그런 상용구 코드가 필요해. ( – Alberto