2

次のアプリの状況があります。起動時に、起動ビューモデル/ビューとして「リスト」ビューモデルに移動したい。しかし、ユーザーが戻るを選択して「メニュー」ビューモデルに移動できるようにしたいと考えています。これは MvvmCross でどのように行われますか?

4

1 に答える 1

5

WP7をサポートしたい場合、そのナビゲーションはマーケットプレイスの提出プロセスを通過するのに苦労します.wp7ではバックフローが神聖です.

そのフローは、Android ユーザーや iPhone ユーザーにとってもあまり意味がありません...そのため、別の UX フローを検討する方がよいかもしれません - ListView->Menu-> フローを引き続き使用できますが、" BACK" 構文は、ユーザーが BACK として理解します。


このタイプの UX を次のように実装すると思います。

起動時に、ListView/ListViewModel に通常どおり移動します。

メニュー、ボタン、またはハイパーリンクなどの何らかの方法を提示して、ユーザーが HomeView/HomeViewModel に移動できるようにしますが、「戻る」メタファーではなく「ホーム」または「メニュー」メタファーを使用してみてください。 WP7で。

ホームへのナビゲーションで、ナビゲーションに「ClearTop」のフラグを設定します。例:

public IMvxCommand GoHomeCommand
{
    get
    {
        return new MvxRelayCommand(RequestNavigate<HomeViewModel>(true));
    }
}

この「ClearTop」フラグは iOS と WP7 によって解釈され、ホームに到達するとナビゲーション バック スタックがクリアされます。ただし、悲しいことに、現在 Android で完全に機能するわけではありません。そのため、Android UI プロジェクトで何か賢いことを行う必要があります。たとえば、特別な開始 ListView/Activity に「NoHistory」フラグを使用する方法を見つけるなどです。


これを行う他の方法があるかどうかを聞くことに興味があります。

于 2012-04-20T12:35:06.017 に答える