我有一个 WPF 应用程序,它有一个主窗口和几个我导航到的页面:

例如从一页到另一页我使用:

NavigationService.Navigate(new MyPage1());

并从我的主窗口显示我使用的页面:
_mainFrame.Navigate(new PageHome());

我的 MainWindow 上有一个公共(public)函数,我想从页面内调用它。

我该怎么做呢??

最佳答案

您不应该直接调用该方法。

您应该做的是在您的页面中引发一个事件并让 MainWindow 订阅该事件。然后该事件处理程序可以调用有问题的方法。

在主页中:

public event EventHandler SomethingHappened;
private void MakeSomethingHappen(EventArgs e){
    if(SomethingHappened != null){
        SomethingHappened(this, e);
    }
}

在主窗口中:
pageHome.SomethingHappened += new EventHandler(pageHome_SomethingHappened);

void pageHome_SomethingHappened(object sender, EventArgs e){
     MyMethod();
}

关于c# - 从 WPF 中的页面内调用公共(public) MainWindow 函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20661443/

10-09 08:19