2009-09-04 6 views
0

이것은 wpf를 처음 사용하기 때문에 약간 바람이 될 수 있습니다. 나는 기본적으로 유효성 검사에 사용되는 L2S 클래스의 엔티티에 대한 부분 클래스를 만들었습니다. 그것은 onchanging 및 onvalidate 메소드를 구현합니다. 나는 MVVM 패턴을 사용하려고하고 창 /보기에 내가 XAML에서 데이터 컨텍스트를 설정 :유효성 확인 L2S 질문

<Window.DataContext> 
    <vm:StartViewModel /> 
</Window.DataContext> 

사용자가보기 빈에서 필수 필드 잎, 부분 클래스의 onchanging 이벤트 데이터를 저장할 때가 아니라 양식을 닫을 때 해고됩니다. 따라서 사용자가 텍스트 상자를 비워두면 이전 값이 유지되고 onchaging 메서드가 실행되지만 사용자에게 결과 오류를 알리는 방법을 알지 못합니다. 여기에 부분 클래스의 코드가 있습니다 :

partial void Ondocument_titleChanging(string value) 
    { 
     if (value.Length == 0) 
      throw new Exception("Document title is required."); 
     if (value.Length > 256) 
      throw new Exception("Document title cannot be longer than 256 characters."); 
    } 

예외를 던지면 오류가 사용자에게 표시되지 않습니다. 폼이 텍스트 상자의 변경 사항을 닫고 거부하도록 허용합니다. 이 의미있게

희망 ...

편집 :이 예는 여기 스콧 Guthries 기사에서 찍은 : http://aspalliance.com/1427_LINQ_to_SQL_Part_5__Binding_UI_using_the_ASPLinqDataSource_Control.5

답변

0

확인이 그것을 알아 냈어. 컨트롤 바인딩에 다음을 추가해야했습니다.

Text="{Binding Path=CurrentDocument.document_title, ValidatesOnDataErrors=True, NotifyOnValidationError=True, UpdateSourceTrigger=PropertyChanged}"