如何在WPF中单击按钮关闭唯一的孩子

本文关键字:唯一 孩子 按钮 单击 WPF | 更新日期: 2023-09-27 18:08:21

我使用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()
        });

现在我想关闭只有子窗体(WPF用户控件)的单击按钮。我在该按钮上使用了以下代码单击:

Window.GetWindow(this).Close();

但是该代码关闭了程序以及所有打开的窗口和MDI父程序。如何在单击按钮时仅关闭特定的WPF用户控件?

如何在WPF中单击按钮关闭唯一的孩子

我不知道这个框架,但我怀疑MDI子节点不是Window。当你调用Window.GetWindow(this).Close();时,你关闭了主窗口,因此终止了应用程序。

尝试从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);