2010-06-15 66 views
0

我已經使用mainView和2個其他視圖(usercontrols)創建了一個示例。 我已經在子視圖上放置了一個「關閉」按鈕,我想關閉該視圖。 有一個命令附加到該按鈕,當按下close時,我要求ViewModelLocator清除它。如何在mvvm-light中關閉UserControl視圖?

BUt-仍然顯示視圖.. 我在做什麼錯了? 我如何關閉mvvm-light的userControl視圖?

private RelayCommand _closeCommand; 
    public RelayCommand CloseCommand 
    { 
     get 
     { 
      if (_closeCommand == null) 
      { 
       _closeCommand = new RelayCommand(()=> 
        ViewModelLocator.ClearAllChannels(), 

        ); 
      } 
      return _closeCommand; 
     } 

    } 

ViewModelLocator功能:

public static void ClearAllChannels() 
    { 
     if (_allChannels != null) 
     { 
      _allChannels.Cleanup(); 
      _allChannels = null; 
     } 
    } 

回答

0

的ViewModelLocator實際上不託管您的觀點。它只是提供了一種查看支持特定視圖的ViewModel的方法。

因此,您需要詢問託管您的視圖(可能是窗口或框架)的控件關閉它們。