3

任意のページから MainPage に戻るアプリ内ホーム ボタンの実装について疑問に思っていました。私が覚えている限り、これは WP7 開発ガイドラインでは許可されていません。しかし、それについて書かれた情報は見つかりません。

これどこに書いてあるかわかる人いますか?

4

4 に答える 4

2

ホームボタンは一般的に推奨されていません、msdn source :

ユーザー インターフェイスにホーム ボタンを配置することは、Windows Phone のナビゲーション モデルから逸脱します。

アプリにホーム ボタンを実装すると、2 つ目の問題が発生する可能性があります。この問題は、アプリにとってより深刻な影響を及ぼします。ユーザーが、または操作を行ったときに無限 (または無限に近い) ループに陥る可能性があるシナリオが誤って作成される可能性があります。彼女はあなたのホーム ボタンとハードウェアの [戻る] ボタンの両方を使用してナビゲートします。あるアプリから別のアプリに移動するためだけに [戻る] ボタンを使用して、あるアプリからあなたのアプリに戻ると、このループが悪化する可能性があります。これらの問題がアプリに影響しないことを確認してください。

ただし、アプリのアーキテクチャをできるだけ浅く保ち、リストとピボットを利用して、ユーザーが数ステップでランディング画面に戻り、そこから以前に起動したアプリに戻ることができるようにします。

ただし、浅いナビゲーションができず、ホーム ボタンが必要なアプリケーションもあります。たとえば、Google ドライブやドロップボックス フォルダー ブラウザーなどです。フォルダー構造を深く掘り下げた後、ユーザーはメイン ページにすばやく移動したいと思うでしょう。ガイドライン、msdn ソース:

アプリでユーザーがページを固定できる場合は、ユーザーがアプリのルートにすばやく戻れるようにするためにホーム ボタンが必要かどうかを検討してください。ホーム ボタンは、アプリのホームページに移動し、ナビゲーション バック スタック全体をクリアします

たとえば、ピン留めされたページがショッピング カートの場合、ユーザーはショッピング カート内の購入を完了してから、再度ショッピングを開始することができます。この場合、ユーザーにホーム ボタンを提供すると、アプリの開始に戻るために必要なタップ数が減るため、ユーザー エクスペリエンスが向上します。

メインページで:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    while (NavigationService.BackStack.Any())
        NavigationService.RemoveBackEntry();
    base.OnNavigatedTo(e);
}
于 2013-07-22T12:01:49.017 に答える
1

許可されていないとは思いませんが、これを行うと、ユーザーが戻るボタンを使用してアプリを終了しようとしたときにナビゲーション ループが発生し、ユーザーを悩ませる可能性があります。

たとえば、A、B、C の 3 つのページがあるアプリを想像してみてください。ページ C には、ページ A に直接戻るための「ホーム」ボタンが含まれているとします。したがって、ナビゲーション スタックは次のようになります。

A -> B -> C -> A -> B -> C -> A ....

ユーザーがスタート ページに戻ってアプリを終了するには、戻るボタンを何度も押す必要があります。これを回避する方法はいくつかありますが、最も明白なのはもちろん、「ホーム」ボタンを提供しないことです。しかし、それがアプリにとって必須であると判断した場合は、次のことができます。

  • ノンリニア ナビゲーション サービスを使用して円形ナビゲーションを管理する

  • ユーザーがホームボタンを押したときにグローバルフラグを維持する、より単純な方法を使用して、このフラグを設定し、 を呼び出しますNavigationService.GoBack()OnNavigatedTo各ページのメソッドをオーバーライドし、このグローバル フラグが設定さNavigationService.GoBack()れている場合は、メイン ページに到達するまで再度呼び出します。

于 2011-06-15T17:41:44.547 に答える
1

許可されていますが、推奨されていません。原則として、メイン ページに戻るナビゲーションには [戻る] ボタンを使用する必要があります。

この動作を実装したい場合は、電話に慣れている実際のユーザーで慎重にテストする必要があります。電話に慣れていないユーザーを使用して、UX テストを無効にしないでください。実際のユーザーは、アプリがネイティブ アプリやその他のほとんどすべての規則に従うことを期待しています。

これを実装する必要がある場合は、NonLinear Navigation Serviceを使用して戻るボタンの動作を正しく管理することをお勧めします。

于 2011-06-15T17:44:16.903 に答える
0

戻るボタンのナビゲーションが最後に表示されたページに戻る限り、許可されると思います。

于 2011-06-15T17:07:24.770 に答える