2016-07-03 53 views
0

嗨,我有一種情況,我必須顯示一個窗口「連接窗口」,根據一些條件。我正在使用PRISM 6.0和WPF,C#。在這裏輸入圖像說明 enter image description here如何根據某些屬性顯示從MainViewModel子窗口

我有一個主窗口在與MainWindowViewModle和一個連接窗口相關的圖片中描述。現在我先點擊連接按鈕,這個連接窗口就會出現。此窗口及其視圖模型「ConnectionWindowViewModel」將完成連接過程的其餘部分。如果連接成功,則ConnectWindowViewModel通知到MainWindowViewModel通過eventAggregaor像

In ConnectionViewModel 
    _eventAggregator.GetEvent<UpdateConnectionEvent>().Publish(connection); 

In MainWindowViewModel 
    eventAggregator.GetEvent<UpdateConnectionEvent>().Subscribe(UpdateConnectionSettings); 

按鈕的內容就變爲Disconnect和連接窗口會自動消失。

現在,如果我想斷開此連接,應從MainWindowViewModel斷開連接,並且不應出現連接窗口。

成功斷開連接後按鈕的內容應更改爲"Connect"。並再次重複相同的過程。

+1

你的問題是什麼? – lokusking

+1

你有幾個小時前的帖子被標記爲重複:http://stackoverflow.com/questions/38163738/show-a-window-based-on-some-condition-from-viewmodel。是什麼賦予了? –

+0

我的問題在問題部分中有所描述「如何在'MainWindowViewModel'上顯示基於連接窗口的某些屬性?單擊'連接'按鈕後,必須顯示連接窗口,但在同一個按鈕後面')被點擊我不想顯示'連接窗口',但我會做Disconnection進程。 – Debhere

回答

1

我的做法是使用內置於Prism中的Interaction Request對象。通過這些,您可以打開一個對話框(一種交互),可用於提示信息的最終用途,如用戶名和密碼。 Prism documentation中有一個小樣本,Prism GitHub repo上有更多涉及樣本。

使用這些技術和主窗口視圖模型上的Connected屬性來指示連接的狀態,您應該可以很容易地完成此操作。我使用交互式請求相當數量,它們適用於簡單(確認更改)和複雜場景(編輯/屬性對話框)。

相關問題