从用户控件中的按钮单击更改窗口的内容

本文关键字:窗口 按钮 用户 控件 单击 | 更新日期: 2023-09-27 18:35:37

我正在开发一个主窗口只有一个ContentControl元素的程序。 在此主窗口的类中,我可以通过ContentHolder.Content = new UserControlMain()更改内容。在UserControlMain中,我有一个按钮可以再次将窗口的内容更改为新的用户控件。

我在第二次更改窗口内容时遇到问题。如果我不实例化MainWindow类,则无法从除其自己的类之外的任何地方访问Content属性。我也无法访问与该类关联的ContentControl元素。但是,如果我实例化MainWindow对象,则会遇到一条错误消息,指出内容已设置。

关于如何解决这个问题的任何提示?

从用户控件中的按钮单击更改窗口的内容

我的建议是:

在主窗口中创建一个带有名称的网格

<Grid name = "mainGrid">
</Grid>

然后,在代码隐藏中,您可以轻松地执行以下操作:

mainGrid.Children.Clear();
mainGrid.Children.Add(new UserControlMain());

问候