私は次のクラスを持っています:
メインウィンドウ:
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
-methodを使用しようとしています。MainMenuとUserPageは、MainWindowの子です。問題は、何をしようとしても、そのLoadAPage
方法に到達できないことです。所有者を設定しようとしましたが、機能しません。試してみるとmainMenu.Owner = this;
、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
VisualStudioはLoadAPage`が不明であると言います。
私は何が間違っているのですか?これをどのように解決すればよいですか?
編集:MainMenuをUserControlではなくWindowに変更すると、所有者を設定できるようになります。それでも、私はその方法にたどり着くことができません。