The functionality for controlling the rear stack depends on the platform and application - for example:
- these are very different manipulations with the backstack of Android activity than iOS UINavigation controller one
- It depends on whether your application uses tabs, actions, fragments, pop-ups, modals, hamburger menus, etc.
Because of this, the actual implementation of user interface changes like this is not defined in MvvmCross.
Instead, you need to implement presenter in your applications.
The main thread you need to execute is as follows:
Find out what the structure of your application is and what effects you want to achieve.
For this effect, declare a custom presentation hint - for example,
public class MyFunkyPresentationHint : MvxPresentationHint { public int DegreeOfFunkiness { get; set; } }
- You can create and send this tooltip from any ViewModel
base.ChangePresentation(new MyFunkyPresentationHint() { DegreeOfFunkiness=27 });
- In your custom presenter, you can execute the required hacking-backstack-screen:
public override void ChangePresentation(MvxPresentationHint hint) { if (hint is MyFunkyPresentationHint) {
For examples of custom speakers, see: http://slodge.blogspot.com/2013/06/presenter-roundup.html
For one example of Backstack processing, see how Close(this) is implemented in some standard presenters.
source share