从 MainPage 的框架内访问子页面中的功能

Access a function in child page within a frame from the MainPage

我正在尝试访问加载到框架中的 .XAML 页面中的函数或 UI 组件。 在我的 MainPage 中,我有一个用于显示不同页面的框架...

Frame->Navigate(Windows::UI::Xaml::Interop::TypeName(View::typeid));

我可以使用...从“查看”页面访问 MainPage 中的功能...

View::View() : rootPage(MainPage::Current)
{
...
}
View::onClickBtnAdd(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
 rootPage->ResetImageView();
}
void View::DoSomething(){
//do some stuff in the View page
}

这允许从 View.xaml.cpp 访问 MainPage.xaml.cpp 中的函数并且工作正常。 我希望能够从 MainPage.xaml.cpp 访问 View.xaml.cpp... 类似于以下内容。

MainPage::onImageTapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
{
View->DoSomething();
}

我查看了 Frame Class 的文档,看起来 SourcePageType 是我可能需要的,但我不知道如何使用它。 有什么提示吗?

您需要将 MainPage 中的 Frame->Content 转换为您的视图类型,这样您就可以访问其 public 方法。