我有一个 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/