2012-04-20 5 views
2

У меня есть следующая ситуация с приложением. При запуске я хочу перейти в «Список» ViewModel в качестве режима просмотра/просмотра. Но я хочу, чтобы пользователь мог выбрать BACK, чтобы перейти к «ViewModel» меню. Как это сделать в MvvmCross?Как добавить невидимую ViewModel в стек навигации в MvvmCross

+1

Ваша скорость приема очень низкая, и в отношении Стюарта здесь отличный ответ, вы должны принять его. – Askolein

ответ

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» будет истолковано прошивкой и WP7, чтобы очистить навигации обратно стек, как только вы добраться домой. Однако, к сожалению, в настоящее время он не работает отлично в Android, поэтому вам нужно будет сделать что-то умное в своем проекте Android UI - например, возможно, каким-то образом найдет способ использовать флаг «NoHistory» для специального запуска ListView/Activity.


Заинтересованы в том, чтобы услышать, есть ли другие способы сделать это.

Смежные вопросы