2010-02-01 2 views
1

마법사 스타일 인터페이스를 직접 구현하고 동일한 문제가 발생할 것으로 예상되는 다른 모든 스타일의 마법사 인터페이스와 함께 올바르게 작동하도록 고민하고 있습니다. 이미지보기 : UI 및 가변 액세스 혼동

http://yfrog.com/5swizardinwindowj

http://img208.imageshack.us/img208/3857/wizardinwindow.jpg

은 기본적으로 내가 그리드를 사용하고 그 아래에있는 내 네비게이션 요소가 있어요. 그리드는과 같이, 화면을 전환합니다 : 컨트롤 사이를 전환 할 잘 작동

: 나는 문제에 도착 곳

private void btnNext_Click(object sender, RoutedEventArgs e) 
{ 
    Wizard.Progress++; 
    SwitchUserControl(); 
} 

private void SwitchUserControl() 
{ 
    switch (Wizard.Progress) 
    { 
     case 0: 
      contentGrid.Children.RemoveRange(0, contentGrid.Children.Count); 
      contentGrid.Children.Add(screen0); 
      break; 
     case 1: 
      contentGrid.Children.RemoveRange(0, contentGrid.Children.Count); 
      contentGrid.Children.Add(screen1); 
      break; 
     case 2: 
      contentGrid.Children.RemoveRange(0, contentGrid.Children.Count); 
      contentGrid.Children.Add(screen2); 
      break; 
     case 3: 
      contentGrid.Children.RemoveRange(0, contentGrid.Children.Count); 
      contentGrid.Children.Add(screen3); 
      break; 
    } 
} 

이입니다. 문제는 예를 들어 화면에 날짜를 입력하는 것과 같습니다. 그리고 그 텍스트 필드에서 실행할 데이터 유효성 검사 코드가 있습니다. 유효성 검사가 실패하면 텍스트 상자 테두리가 빨간색으로 바뀌고 메시지가 나타납니다. 하지만 지금은이 코드가 어디로 갈 수 있는지 모르겠습니다. usercontrol screenX의 버튼에 사용 했었지만 지금은 내 탐색 버튼이 아래에 있습니다. 그런 다음 해당 탐색 버튼 아래 코드에 삽입하려면 텍스트 필드에 액세스 할 수 없습니다!

마법사 스타일 인터페이스의 대부분의 구현에서이 문제가 발생하는 것을 볼 수 있습니다. 대부분의 예제에서는 확인란이나 라디오 버튼을 사용하므로 데이터 입력에 오류가 없습니다. 하지만이 예제에는별로 도움이되지 않습니다.

그래서 내가 원하는 것을 얻을 수있는 나의 옵션은 무엇입니까 ???

감사합니다.

답변

0

귀하의 질문에 대한 답변은보다 표준적인 접근 방식으로 시작하는 것이 좋습니다. WPF는 마법사를 만들 때 사용할 수있는 멋진 Navigation API을 지원합니다. 그것의 Here is a sample 직장.

유효성 검사와 관련하여 Navigation API에서 컨트롤 (예 : 사용자의 컨트롤 대신)을 사용할 수 있습니다. 페이지 클래스에는 유효한지 유효하지 않은지 여부를 나타내는 속성이있을 수 있으며 페이지별로 필드 입력 확인의 논리를 유지할 수 있습니다.

+0

솔루션에 추가 할 수있는 NavigationWindow가없는 것 같습니다. 페이지 함수 (WPF)가 있지만 탐색 창을 찾을 수 없습니다 ??? – baron