Silverlight 3에서는 MVVM 및 유효성 검사 오류가 발생할 경우 setters가 예외를 발생시키는 유효성 검사 원리로 작업하고 있습니다. 내가 사용하는 필드에 바인딩 구문을 사용하여 양방향 예 : Silverlight의 ValidationSummary에 닫기 단추를 추가하는 방법
<TextBox x:Name="TextBoxClientName" Text="{Binding Name,Mode=TwoWay,ValidatesOnExceptions=True,NotifyOnValidationError=true}" Grid.Column="1" Grid.Row="0" Margin="5 5 5 5" />
내가 주석을 사용하여 뷰 모델에서이 속성을 확인 :
[Required(ErrorMessage = "Name is required")]
public string Name
{
get
{
return _client.Name;
}
set
{
Validator.ValidateProperty(value, new ValidationContext(this, null, null) { MemberName = "Name", DisplayName="Client Name" });
_client.Name = value;
}
}
내가 유효성 검사 요약이 있고 모두 잘 작동하지만, 롤 내가 찾고있는 기능은 다음과 같습니다.
데이터 폼이 있으며 저장을 클릭 할 때만 유효성 검사 요약이 맨 위에 표시되도록하고 그 이상의 ValidationSummary에 닫기 단추를 구현하려면 사용자는 enter를 계속할 수 있습니다. 고침.
나는 validationsummary의 가시성이나 토글을 제어하는 방법을 모르겠다. Visibility를 시도했다. 다음은 제출에 오류를 수집하지 않습니다 내가 노력 코드입니다,하지만 난의 ValidationSummary에 적용 할 수 없습니다
public void Save()
{
List<ValidationError> errors = new List<ValidationError>();
foreach (UIElement ui in LayoutRoot.Children)
{
FrameworkElement fe = ui as FrameworkElement;
if (fe != null)
{
foreach (ValidationError ve in Validation.GetErrors(fe))
{
errors.Add(ve);
}
}
}
if (errors.Count > 0)
{
Validation1.DataContext = errors;
Validation1.Filter = ValidationSummaryFilters.All;
}
else
{
if (Saved != null)
Saved(this, EventArgs.Empty);
}
}
건배,
앤드류