我是新来的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