2011-04-01 6 views
1

저는 WPF 및 MVVM에서 초보자입니다. 나는 2 개의 값을 더하는 간단한 wpf 윈도우를 가지고있다. 추가 버튼에 명령 바인딩 을 사용하고 있습니다.유효성 검사에 실패 할 경우 창을 닫지 마십시오. - WPF

여기에 버튼

<Button Content="OK" Name="btn_OK" Command="{Binding AddShutterType}" /> 

이 명령은 내보기 모델로 작성 내 XAML 코드입니다, 또한 내가 어떤 검증 를하고있는 중이 야하지만 유효성 검사가 실패하거나 내 방 창문이 폐쇄되지 않은 성공하면 내 문제입니다! ! "this.close"창 버튼 클릭 이벤트를 주면 항상 닫힙니다. 내 요구 사항은 유효성 검사가 실패하면 창을 유지하고 유효성 검사가 성공하면 닫습니다. 이 작업을 수행하는 방법?

여기 유효성 검사 부분이 포함 된 내보기 모델 코드입니다.

private ICommand _AddShutterType; 

    public ICommand AddShutterType 
    { 
     get 
     { 
      if (_AddShutterType == null) 
      { 
       _AddShutterType = new DeligateCommand.DelegateCommand(delegate() 
       { 
        ShutterNameToAdd.Trim(); 
        ShutterCodeToAdd.Trim(); 

        StringBuilder SB = new StringBuilder(); 
        if (ShutterCodeToAdd == "") 
        { 
         SB.Remove(0, SB.Length); 
         SB.Append("Please type in a Code for the shutter."); 
         throw new ArgumentException(SB.ToString()); 
        } 

        if (ShutterCodeToAdd.Length > 10) 
        { 
         SB.Remove(0, SB.Length); 
         SB.Append("Shutter type code size cannot be more than 5"); 
         throw new ArgumentException(SB.ToString()); 
        } 

        if (ShutterNameToAdd == "") 
        { 
         SB.Remove(0, SB.Length); 
         SB.Append("Please type in a Name for the shutter."); 
         throw new ArgumentException(SB.ToString()); 
        }      

        Model.AddShutterType(ShutterCodeToAdd, ShutterNameToAdd); 
       }); 
      } 
      return _AddShutterType; 
     } 
    } 

중 하나가 제발 도와주세요 ..

답변

0

내 솔루션은 VM에서보기의 심판을 유지하는 것입니다,하지만 인터페이스가 될 것이다;

예 :

희망이 있습니다.

관련 문제