NavigationService — возврат или навигация

Это, возможно, больше проблема дизайна, но также имеет техническую подоплеку.

В моем текущем приложении у меня есть следующие представления:

Обзор фильма

Приложение запустится и покажет «мою» коллекцию фильмов (с представлением MovieOverview), и у вас будет возможность перейти к «моим друзьям» с помощью кнопки на панели приложений.

В представлении FriendsOverview я увижу «своих» друзей, а когда вы нажмете/выберете друга, я выполню NavigationService.GoBack в представление MovieOverview, НО с параметром, указывающим новое выбранное имя пользователя (выбранный друг). Это обновит представление MovieOverview и покажет коллекцию фильмов «друг».

Когда в этот момент вы нажмете кнопку панели приложений друзей, я снова покажу «моих» друзей, поэтому исходные неизмененные списки (а не друзья «выбранного друга»).

Недостаток этого подхода: когда вы выбираете друга и возвращаетесь в представление MovieOverview, нажатие жесткой кнопки НАЗАД приводит к выходу из приложения из-за NavigationService.GoBack, который я закодировал из представления FriendsOverview в представление MovieOverview.

Итак, мой вопрос, как вы проектируете/технически об этом? Любые советы, предложения, все приветствуется. Мне нужно поразмышлять над этим...


person Depechie    schedule 05.11.2011    source источник
comment
Я решил эту проблему, разделив страницу фильма на 2, одну общую (чтобы я мог добавить больше материалов, связанных с пользователями) и одну для коллекций друзей...   -  person Depechie    schedule 11.11.2011


Ответы (1)


Я думаю, когда вы нажимаете на друга на странице друзей, вам не нужно вызывать GoBack. Вместо этого вызовите NavigateTo с параметром друга. На странице фильма добавьте заголовок. Пользователь должен понимать, кому сейчас показывают фильмы. При нажатии Назад с этой страницы приложение переходит на предыдущую страницу в стеке, т.е. на страницу друзей. Кнопка «Друзья» на панели приложений должна работать так же и в режиме фильмов друзей (GoBack). Если пользователь смотрит его фильмы, кнопка панели приложений должна вызывать NavigateTo вместо GoBack.

person Ku6opr    schedule 08.11.2011
comment
Да... Я пробовал это, но переходя от Moviepage обратно к FriendsPage, а затем обратно к «первой» странице фильма, эта страница будет содержать выбранного друга, а не текущего пользователя, запускающего приложение. - person Depechie; 11.11.2011