如何在单击 WPF 中的按钮时关闭独生子
How to close only child on click of a button in WPF
我使用 CodePlex DLL 创建了 MDI 窗体,我添加了一个 WPF 用户控件并使用以下代码将其打开:
MainMdiContainer.Children.Add(new MdiChild()
{
Title = " Employee Master",
Height = 300,
Width = 500,
//Here CustomerMaster is the class that you have created for mainWindow.xaml user control.
Content = new EmpMaster()
});
现在我只想在单击 button.I 时关闭子窗体(WPF 用户控件),在该按钮单击上使用了以下代码:
Window.GetWindow(this).Close();
但是该代码关闭程序以及所有打开的 window 和 MDI 父级。如何在单击按钮时仅关闭特定的 WPF 用户控件?
我不知道那个框架,但我怀疑 MDI 子级不是 Window
。当您调用 Window.GetWindow(this).Close();
时,您关闭了主 window 并因此终止了应用程序。
尝试从 MainMdiContainer
中删除 MdiChild
:
var child = new MdiChild() { ... };
MainMdiContainer.Children.Add(child);
// Later
MainMdiContainer.Children.Remove(child);
我得到了答案,我在点击该按钮时调用了以下代码行:
MainWindow mainWind = Application.Current.MainWindow as MainWindow;
mainWind.MainMdiContainer.Children.RemoveAt(0);
我使用 CodePlex DLL 创建了 MDI 窗体,我添加了一个 WPF 用户控件并使用以下代码将其打开:
MainMdiContainer.Children.Add(new MdiChild()
{
Title = " Employee Master",
Height = 300,
Width = 500,
//Here CustomerMaster is the class that you have created for mainWindow.xaml user control.
Content = new EmpMaster()
});
现在我只想在单击 button.I 时关闭子窗体(WPF 用户控件),在该按钮单击上使用了以下代码:
Window.GetWindow(this).Close();
但是该代码关闭程序以及所有打开的 window 和 MDI 父级。如何在单击按钮时仅关闭特定的 WPF 用户控件?
我不知道那个框架,但我怀疑 MDI 子级不是 Window
。当您调用 Window.GetWindow(this).Close();
时,您关闭了主 window 并因此终止了应用程序。
尝试从 MainMdiContainer
中删除 MdiChild
:
var child = new MdiChild() { ... };
MainMdiContainer.Children.Add(child);
// Later
MainMdiContainer.Children.Remove(child);
我得到了答案,我在点击该按钮时调用了以下代码行:
MainWindow mainWind = Application.Current.MainWindow as MainWindow;
mainWind.MainMdiContainer.Children.RemoveAt(0);