我有以下课程:
主窗口:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
MainMenu mainMenu = new MainMenu(this);
menuFrame.Navigate(mainMenu);
UserPage userP = new UserPage();
contentFrame.Navigate(userP);
}
public void LoadAPage(Page page)
{
contentFrame.Navigate(page);
}
}
主菜单:
public partial class MainMenu : Window
{
private Window switchPage;
public MainMenu(MainWindow mainP)
{
Window mainWindow = mainP;
InitializeComponent();
switchPage = mainP;
}
private void btn_navigate_user(object sender, EventArgs e)
{
UserPage userP = new UserPage(ServiceLogic);
//switchPage = Window.GetWindow(PageSwitcher);
//switchPage.LoadAPage(new UserPage());
}
如您所见,我正在尝试使用LoadAPage
MainWindow 中的 - 方法。MainMenu 和 UserPage 是 MainWindow 的子项。问题是,无论我尝试什么,我都无法达到LoadAPage
方法。我试过设置所有者,但这不起作用。尝试时mainMenu.Owner = this;
,Visual Studio 说Mainmenu does not contain a definition for 'Owner``. When I give the parent class as a parameter to the child class, there are no errors but the method
LoadAPage` 在那里是未知的。
我究竟做错了什么?我应该如何解决这个问题?
编辑:将 MainMenu 更改为 Window 而不是 UserControl 使我能够设置所有者。仍然,我无法达到方法。