WPF C# 关闭 Window onclick
WPF C# Close Window onclick
我有一个使用 FirstFloor MUI Framework 应用程序的 WPF C#,它在启动时会检查设置并会按照以下显示特定的启动 uri;
if(somethings_true) {
Application curApp = Application.Current;
//ModernWindow
curApp.StartupUri = new Uri("MainWindow.xaml", UriKind.RelativeOrAbsolute);
}else{
Application curApp = Application.Current;
//ModernWindow
curApp.StartupUri = new Uri("OtherWindow.xaml", UriKind.RelativeOrAbsolute);
}
工作正常,但是当 "OtherWindow.xaml" 首先处于活动状态时,它有一个执行其他检查的 onclick 事件,完成后打开 MainWindow.xaml。但是在 Button_Click() 打开 MainWindow.xaml 时,我无法关闭 OtherWindow.xaml 并且我在 OtherWindow.xaml..
中尝试过
this.Close();
&
var OtherWin = new OtherWindow();
OtherWin.Close();
&
var w = Application.Current.Windows[0];
w.Hide();
//Only hides the OtherWindows.xaml (Still runs hidden in background even after MainWindow.xaml is closed)
我使用下面的代码检查 OtherWindow.xaml 是否在 MainWindow.xaml 中仍然打开,其中它声明它打开;
foreach (var wndOtherWindow in Application.Current.Windows)
{
if (wndOtherWindow is OtherWindow)
{
//Its Open Still...
//How to close() "OtherWindow.xaml" from here?
}
}
还有其他方法可以关闭() OtherWindow.xaml吗?
您应该转换为 Window 或特定类型(在您的情况下为其他 Window),这样您就可以调用 Close() 方法。试试这个:
foreach (var wndOtherWindow in Application.Current.Windows)
{
if (wndOtherWindow is OtherWindow)
{
(wndOtherWindow as Window).Close();
}
}
希望有所帮助。
我有一个使用 FirstFloor MUI Framework 应用程序的 WPF C#,它在启动时会检查设置并会按照以下显示特定的启动 uri;
if(somethings_true) {
Application curApp = Application.Current;
//ModernWindow
curApp.StartupUri = new Uri("MainWindow.xaml", UriKind.RelativeOrAbsolute);
}else{
Application curApp = Application.Current;
//ModernWindow
curApp.StartupUri = new Uri("OtherWindow.xaml", UriKind.RelativeOrAbsolute);
}
工作正常,但是当 "OtherWindow.xaml" 首先处于活动状态时,它有一个执行其他检查的 onclick 事件,完成后打开 MainWindow.xaml。但是在 Button_Click() 打开 MainWindow.xaml 时,我无法关闭 OtherWindow.xaml 并且我在 OtherWindow.xaml..
中尝试过this.Close();
&
var OtherWin = new OtherWindow();
OtherWin.Close();
&
var w = Application.Current.Windows[0];
w.Hide();
//Only hides the OtherWindows.xaml (Still runs hidden in background even after MainWindow.xaml is closed)
我使用下面的代码检查 OtherWindow.xaml 是否在 MainWindow.xaml 中仍然打开,其中它声明它打开;
foreach (var wndOtherWindow in Application.Current.Windows)
{
if (wndOtherWindow is OtherWindow)
{
//Its Open Still...
//How to close() "OtherWindow.xaml" from here?
}
}
还有其他方法可以关闭() OtherWindow.xaml吗?
您应该转换为 Window 或特定类型(在您的情况下为其他 Window),这样您就可以调用 Close() 方法。试试这个:
foreach (var wndOtherWindow in Application.Current.Windows)
{
if (wndOtherWindow is OtherWindow)
{
(wndOtherWindow as Window).Close();
}
}
希望有所帮助。