0

我在使用辅助活动磁贴时遇到问题。我将它固定在我的应用程序中,我希望它让用户进入一个深层链接,他将它固定在哪里。在 App.xaml.cs 文件中,我将其添加到 onlaunched 事件中:

if (rootFrame.Content == null)
        {
            // Wenn der Navigationsstapel nicht wiederhergestellt wird, zur ersten Seite navigieren
            // und die neue Seite konfigurieren, indem die erforderlichen Informationen als Navigationsparameter
            // übergeben werden

            if (!string.IsNullOrEmpty(args.Arguments))
            {
                rootFrame.Navigate(typeof(qurandb));//, args.Arguments);
            }
            else
            {
                //  rootFrame.Navigate(typeof(qurandb), args.Arguments);
                rootFrame.Navigate(typeof(GroupedItemsPage), "AllGroups");
            }

        /*    if (!rootFrame.Navigate(typeof(GroupedItemsPage), "AllGroups"))
            {
                throw new Exception("Failed to create initial page");
            } */
        }

我的问题是,这仅在应用程序首次启动时才有效。当我稍后单击辅助磁贴(应用程序是恢复)时,我没有到达我想要的目的地,但到了点,我在暂停应用程序时所在的位置。

有人可以帮我吗?

4

2 回答 2

1

单击辅助磁贴时将调用应用程序的 OnLaunched 事件。您提供的代码假定它只会在rootFrame.Content为 null 时被调用,并且如果您的应用程序已经在运行,则不会导航到相应的页面。代码需要处理帧内容不为空的情况。

if (rootFrame.Content == null)
{
    ...
} else {
    // Need to handle the case where rootFrame.Content is not null
}
于 2012-11-21T05:30:33.957 回答
0

您需要按如下方式处理 OnResuming 事件:

在您的 App.xaml.cs

public App() 
{
    //...
    this.Resuming += OnResuming; 
    //...
}

//...

private void OnResuming(object sender, object e) 
{
    //there are no args here to access. So need to figure out some way to decide what page to show
    bool showShowQuranDb = true; //your logic here
    if (shouldShowQuranDb)
    {
        rootFrame.Navigate(typeof(qurandb));
    }
    else
    {
        rootFrame.Navigate(typeof(GroupedItemsPage), "AllGroups");
    }
}
于 2012-11-20T00:43:07.170 回答