【发布时间】:2016-10-22 08:51:41
【问题描述】:
在我的应用程序的第一个窗口中有一个打开第二个窗口的按钮,在第二个窗口中还有一个打开第三个窗口的按钮。所有按钮命令都在我的 ViewModel 中实现。 在打开新窗口之前必须关闭当前窗口。 为了从第一个窗口转到第二个窗口,我使用了以下代码:
void OpenSecondWindowExecute()
{
System.Windows.Application.Current.MainWindow.Hide();
SecondWindow sw = new SecondWindow();
sw.WindowStartupLocation = WindowStartupLocation.CenterScreen;
sw.Show();
}
bool CanOpenSecondWindowExecute()
{
return true;
}
public ICommand OpenSecondWindow { get { return new RelayCommand(OpenSecondWindowExecute, CanOpenSecondWindowExecute); } }
它工作正常,因为第一个窗口代表 MainWindow。
问题: 我如何在其他窗口中实现这一点?
【问题讨论】:
-
不应在 ViewModel 中使用特定于 UI 的逻辑。将这些代码放入 Click 事件中。放入 ViewModel 会破坏 viewmodel 的目的