如何从另一个类访问mainwindow?

时间:2016-12-14 20:20:20

标签: c# wpf

我标题说。我希望能够从其他类更改GUI主窗口。当我在主窗口类中拥有所有方法时,一切都运行正常。但是当我在同一个命名空间中使用另一个类时,它不起作用。我的代码编译但当我点击按钮时没有任何反应。

class w_Kcal
{
    MainWindow mw;

    public w_Kcal(MainWindow mw)
    {
        this.mw = mw;
        mw.maintenanceButton.Click += MaintenanceButton_Click;
    }

    public void MaintenanceButton_Click(object sender, RoutedEventArgs e)
    {
        mw.maintenanceBox.Visibility = Visibility.Visible;
        mw.maintenanceOKBtn.Visibility = Visibility.Visible;
    }
}

主窗口:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }
}

1 个答案:

答案 0 :(得分:0)

这是因为您没有在任何地方实例化w_Kcal。在主窗口代码中创建此类,它应该工作:

public partial class MainWindow : Window
{
    private w_Kcal helper;
    public MainWindow()
    {
        InitializeComponent();
        helper = new w_Kcal(this);
    }
}

希望这有帮助