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 イベントが呼び出されます。あなたが提供したコードは、が null の場合にのみ呼び出されると想定しており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 に答える