我是新來的MVVM,並在其自己的視圖模型C#-file碰到問題如何打開一個對話框,關閉後的對話框。搜索可能的解決方案,發現什麼都不合適 我的解決方案如下所示,但我不確定這是否有一些缺點。 定義的用戶控件,並打開它:WPF用戶控件MVVM如何關閉對話框
void ChangeDataPathExecute()
{
Window window = new Window
{
Content = new ChangeDataRootPathUserControl(),
};
window.ShowDialog();
}
在用戶控件文件的視圖模型實現:
void OkChangeDataRootPathExecute()
{
DetermineMyWindow();
myWindow.Close();
}
你怎麼想:
private void DetermineMyWindow()
{
foreach (Window window in App.Current.Windows)
{
ChangeDataRootPathUserControl uc = window.Content as ChangeDataRootPathUserControl;
if (uc == null)
continue;
myWindow = window;
}
在關閉方法
最後對這個?黑客或好的解決方案? 感謝您的反饋 節拍
感謝這個想法。 我會說這是所謂的「後面的代碼」,我試圖避免 – Vik