2017-04-19 6 views
0

우리가 응용 프로그램에 대한 MainWindow를이 우리가 설정 창으로 (가장을 적합 중 ) 두 번째 창 또는 usercontrole을 원하는 말할 수 있습니다. 어떻게이 창을 열고 mvvmLight 접근으로 닫을 수 있습니까?WPF MVVM Light에서 Window & UserControle을 열고 닫는 방법?

이것은 현재 개봉에 사용하는 코드입니다.

var settingWindow = new SettingsViewWindow(); 
    settingWindow.Show(); 

이 현재 내가 폐쇄 창에 사용하는 코드입니다.

This.Close(); 

userControle 제어 및 사용시기에 대해서는 잘 모릅니다. 당신이 youtube 영상 또는 나가 그것에 관하여 읽을 수 있던 위치를 cognize 경우에 appritacted. 또는 단순히 설명을 삭제하십시오.

다음은 MenuItem Click Events를 구성한 방법입니다. beeing이 시간 동안 나는 일반적인 버튼에 대한 내 eventhandlers을 쥐고 descreptive regrion 안에 그들을 배치하는 방법입니다. 나는이 밑 부분을 스폴리에 어떻게 두는 지 안다면. ;)

private void btnNav_Click(object sender, RoutedEventArgs 
    { 
    if(sender == btnNavSettings) 
     { 
      OpenSettingsWindow(); 
     } 
     else if(sender == btnNavExitApp) 
     { 
      ShutDownApplication(); 
     } 
    } 

/// <summary> 
/// Opens a settings window. 
/// Only on settings window can be open at time. 
/// </summary> 
private void OpenSettingsWindow() 
    { 
    if(GlobalVariabels.GUI_Variabels.SettingsWindowIsOpen != true) 
     { 
     var settingWindow = new SettingsViewWindow(); 
     settingWindow.Show(); 
     } 
    } 

/// <summary> 
/// Exit the application properly. 
/// </summary> 
private void ShutDownApplication() 
    { 
    Application.Current.Shutdown(0); 
    } 
+0

. 컴퓨터에 액세스 할 때 설명 답을 추가하겠습니다. –

답변

0

당신은 예를 들어 Messenger 클래스 사용하여 이러한 뷰 모델과 뷰와 두 개의 구성 요소 사이에 메시지를 전달할 수 :

MVVM Light WPF open new window How to open a new window using MVVM Light Toolkit

을 또는 당신은 할 수

Best Pratice to open a New Window in MVVM Light with Parameters

01 : 창문의 개방을 처리하는 대화 서비스를 만들 23,516,

당신은 다음과 같은 대화 상자 서비스와 뷰 모델을 주입 :

Separate project for view models to "enforce" MVVM: How do I open dialogs?

이 주제에 대한 링크의 많음이있다. 당신이 원하는 경우에 내가 여기에 제공 한 사람 및 구글이나 빙을 참조하시기 바랍니다 더 : currenly 행함은 MVVM 원칙을 많이 위반하는 당신이