如何从tab按钮启用主窗口的禁用菜单项

时间:2018-05-11 13:15:12

标签: wpf forms tabs tabcontrol menu-items

在WPF表单应用程序中

菜单和MenuItems位于主窗口窗体上,默认情况下我将其禁用

然后在选项卡打开,这是一个登录表单

MainWindow和Login选项卡是不同的表单,登录表单在位于MainWindow的TabControl中打开

现在我希望当我从登录表单登录时,成功登录菜单和MenuItems应该启用。

附上参考截图 enter image description here 请分享相同的代码

提前致谢

1 个答案:

答案 0 :(得分:0)

当您从MainWindow创建新的登录选项卡时,您可以将整个MainWindow控件(this)作为参数传递给Login选项卡。

从那里,您可以从登录标签中对MainWindow内的项目进行调用。

tabPage1.Enabled = false; // this disables the controls on it
tabPage1.Visible = false; // this hides the controls on it.

下面的代码取自两个独立的Windows,第一个叫做MainWindow,它有一个按钮,打开一个我称之为Window1的新窗口。

MainWindow代码:

private void ButtonNewPage_Click(object sender, RoutedEventArgs e)
    {
        Window1 newWindow = new Window1(this);
        this.Hide();
        newWindow.Show();
    }

Window1代码,在Window1构造函数中注意它采用MainWindow类型的参数:

public partial class Window1 : Window
{
    private MainWindow parent;

    public Window1(MainWindow parent)
    {
        InitializeComponent();
        this.parent = parent;
    }

    private void ButtonOldPage_Click(object sender, RoutedEventArgs e)
    {
        this.Hide();
        parent.Show();
    }
}

*编辑显示将旧窗口传递给新窗口