데이터 유효성 검사는 UI에 여러 가지 방식으로 표시 할 수 있습니다. 예를 들어, 메시지 상자를 표시하거나 레이블을 표시 할 수 있습니다.
UI의 어딘가에 빨간색 텍스트가있는 레이블을 사용하여 오류를 표시한다고 가정합니다.
UI에 '저장'버튼이 있다고 가정합니다.
보기 모델에서 버튼을 SaveCommand
에 바인딩 할 수 있습니다.
SaveCommand
의 구현에서 모든 데이터가 유효한지 확인하고 Error
문자열 속성을 설정할 수 있습니다.
레이블의 텍스트를 Error
속성에 바인딩 할 수 있습니다. 또한 레이블의 가시성을 조건에 바인딩 할 수도 있습니다 (Error! = null).
public class SettingsViewModel : MvxViewModel
{
string firstName;
public string FirstName
{
get { return this.firstName; }
set
{
if(this.firstName != value)
{
this.firstName = value;
this.RaisePropertyChanged(()=> this.FirstName);
this.Error = null; // reset error
}
}
}
public string Error { get; private set; }
public ICommand SaveCommand { get { return new MvxCommand(this.Save); } }
void Save()
{
// reset error
this.Error = null;
if(string.IsNullOrEmpty(this.FirstName))
{
this.Error = "First name is empty";
}
if(string.IsNullOrEmtpy(this.Error))
{
// no error, save settings...
}
else
{
this.RaisePropertyChanged(()=> this.Error);
}
}
}
감사합니다. Andrei,하지만 내 자신을 굴리기보다는 프레임 워크를 찾고있었습니다. 나는 원래의 질문에서 분명해야했다. MvvmCross에 내장 된 것이 있습니까? 유효성 검사 플러그인을 살펴 보았지만 사용 방법에 대한 예는 없었습니다. – rideintothesun
예, 분명히해야합니다 :) http://bit.ly/1oItD2Q –
나는 그것을 (나는 웃음을 짓 겼어!), 그냥 거기에 내가 이해하는 방법을 사용하는 방법의 예가 없습니다. – rideintothesun