Windows 8应用程序如何从App.xaml.cs中访问页面方法

4

可能是一个愚蠢的问题,所以我提前道歉。我刚开始构建Windows 8 Store应用程序。

当应用程序被暂停时,我需要在我的页面脚本上运行一些方法。我只有一个页面,并且在Page1.xaml.cs文件中有一些公共方法。我想从App.xaml.cs文件的OnSuspending()方法调用它们。我需要确保一些文本文件被保存。

如何创建对我的Page1脚本的引用?

2个回答

4
您可以尝试从当前FrameContent属性访问Page1对象。像这样:

var currentFrame = Window.Current.Content as Frame;
var page1 = currentFrame.Content as Page1;

那么,Page1 的公共方法将可以通过 page1 变量访问:

page1.SomePublicMethod();

1
谢谢,太棒了! - user1766857

0
有时候,如果代码是从另一个线程触发的,你必须在主线程中运行它,这对我很有效。
Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
    {
        try
          {
              ProjectsPage projectsPage = (Window.Current.Content as AppShell).AppFrame.Content as ProjectsPage;
                        projectsPage.FetchProjects();
           }
           catch (Exception ex)
            {
            }
    });

这对我很有效


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接