C# windows 8应用程序从App.xaml.cs访问页面方法

C# windows 8应用程序从App.xaml.cs访问页面方法,c#,windows-8,C#,Windows 8,可能是个愚蠢的问题,所以我提前道歉。我刚开始构建Windows 8应用商店应用程序 当应用程序挂起时,我需要在我的页面脚本上运行一些方法。我只有一个页面,在Page1.xaml.cs文件中有一些公共方法。我想从App.xaml.cs文件中的onSuspend()方法调用它们。我需要确保保存一些文本文件 如何创建对我的Page1脚本的引用?您可以尝试从当前帧的内容属性访问Page1对象。大概是这样的: var currentFrame = Window.Current.Content as Fra

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

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


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

您可以尝试从当前
帧的
内容
属性访问
Page1
对象。大概是这样的:

var currentFrame = Window.Current.Content as Frame;
var page1 = currentFrame.Content as Page1;
然后可从
Page1
变量访问
Page1
的公共方法:

page1.SomePublicMethod();

有时候,如果代码是从另一个线程触发的,你必须在主线程中运行它,这对我来说很有效

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)
            {
            }
    });

这对我有用

谢谢,太好了!