早些时候(有一些非常感谢的帮助),我看到了如何创建一个允许我打开窗口的功能(见下文)
private void icon_Add(object sender, RoutedEventArgs e)
{
OpenView(typeof(viewName));
}
private void OpenView(Type newView)
{
if(typeof(Window).IsAssignableFrom(newView)) {
Window window = (Window)Activator.CreateInstance(newView);
window.Show();
}
}
我现在想要修改OpenView,这样我也可以告诉它关闭一个表单(并且可以真正帮助。理想情况下,我希望能够运行:
OpenView(typeof(viewName), typeof(viewToClose));
再次感谢。
答案 0 :(得分:3)
修改强>
使用Application.Current.Windows
,因为它存储了所有应用程序的窗口
private void OpenView(Type newView, Type closeType)
{
foreach (Window item in Application.Current.Windows)
{
if (item.GetType() == closeType)
{
item.Close();
}
}
if (typeof(Window).IsAssignableFrom(newView))
{
Window window = (Window)Activator.CreateInstance(newView);
window.Show();
}
}