2017-09-28 6 views
0

사용자가 WPF 대화 상자 창에서 옵션을 선택할 때 다른 페이지로 이동하려고합니다. PAGE1에서 내가 호출하는 함수에 값을 반환 할 때 다음 대화 창에서, 내가, 예/아니오 옵션 (버튼)을 선택wpf에서 팝업 대화 상자 창에서 다른 페이지로 이동하는 방법 MVVM을 사용하지 않습니다.

private void newCust_Click(object sender, RoutedEventArgs e) 
    { 
     bvnQuery bv = new bvnQuery(); 
     bool? val = bv.ShowDialog(); 

     if (val.HasValue && val.Value) 
     { 
      NavigationService.Navigate("page3.xaml", UriKind.Relative); 
     } 
    } 

버튼 클릭 이벤트를 통해이 코드 창을 팝업, 위 URI의 페이지로 이동하면 빈 페이지가 표시됩니다. 이 문제를 어떻게 해결할 수 있습니까?

+0

당신이 NavigationService를 사용하는 ? – AGrammerPro

+0

예, NavigationService.Navigate ("page3.xaml", UriKind.Relative)를 사용하고 있습니다. 페이지로 이동하지 않습니다 –

+0

버튼 클릭 방법에 탐색 서비스를 추가해보십시오. – AGrammerPro

답변

0

당신은 당신의 "예/아니오"핸들러에 bvnQuery 윈도우의 DialogResult 속성을 설정해야합니다

이 값은 ShowDialog() 메서드에서 반환됩니다

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    this.DialogResult = true; 
} 
:

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    bvnQuery bv = new bvnQuery(); 
    bool? val = bv.ShowDialog(); 

    if (val.HasValue && val.Value) 
    { 
     //... 
    } 
} 
+0

NavigationService.Navigate ("page3.xaml", UriKind.Relative);를 수행 할 때 필수 페이지로 이동하지 않습니다. if 블록 내에 . val returns true –

+0

제공 한 코드 샘플의 업데이트로 내 질문을 업데이트했습니다. 감사합니다 –

+0

내 잘못입니다. 혼란스러워서 미안해. 당신이 바로 NavigationService.Navigate (새로운 Uri ("page3.xaml", UriKind.Relative));를해야만했습니다. 감사 –