2017-04-19 4 views
0

アプリケーションのメインウィンドウがあり、設定ウィンドウとして2番目のウィンドウまたはusercontrole(のいずれかが最も適しています)が必要になるとします。このウィンドウを開き、mvvmLightアプローチでどのように閉じますか?WPF MVVM LightでウィンドウとUserControleを開いたり閉じたりするにはどうすればいいですか?

これは現在、私が使用しているコードです。新しいウィンドウです。

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

これは、現在私がウィンドウを閉じるに使用するコードです。

This.Close(); 

私はuserControlecontrolとその使用時期についてよく分かりません。 YouTubeのビデオやサイトを知っていれば、それについて読むことができます。または単に説明を削除してください。

以下は、私がMenuItem Click Eventsを構成した方法です。これは、私のイベントハンドラに一般的なボタンを打つのが好きで、それらを消耗的な再建の中に置くのが好きな時です。 もし私がスポルラーにこの底部を置く方法を知っていたら。 ;あなたは、例えばMessengerクラスを使用して、このようなビューモデルとビューのような2つのコンポーネント、とのメッセージ渡すことができます)

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

MVrenの多くの原則に違反しています。私はコンピュータへのアクセス権を得るときに説明的な答えを加えます。 –

答えて

0

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

あなたはそのようなダイアログサービスとビューモデルを注入:

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

は、件名にリンクがたくさんあります。私がここで提供しているもの、GoogleまたはBingを参考にしてください。もっとお知りになりたい場合は

関連する問題