There's an optional presentationBundle
parameter you can use in most of the ShowViewModel
overrides - see https://github.com/MvvmCross/MvvmCross/blob/v3.1/Cirrious/Cirrious.MvvmCross/ViewModels/MvxNavigatingObject.cs#L39
You can create a bundle simply from a Dictionary<string,string>()
- e.g. you could use new MvxBundle(new Dictionary<string,string>() { { "ShowSplit":"true" } })
When used, this presentation bundle will get placed into the MvxViewModelRequest
- in the public IDictionary<string, string> PresentationValues { get; set; }
member - see https://github.com/MvvmCross/MvvmCross/blob/v3.1/Cirrious/Cirrious.MvvmCross/ViewModels/MvxViewModelRequest.cs#L33
The request will then get passed to your UI presenter (aka the 'navigation service' in other frameworks) - and your custom code in the presenters on each platform can then decide what to do with these 'presentation' hints - e.g. it can override public override void Show(MvxViewModelRequest request)
to inspect the presentation hint contents and to then do some custom split view display (see https://github.com/MvvmCross/MvvmCross/blob/v3.1/Cirrious/Cirrious.MvvmCross.Touch/Views/Presenters/MvxTouchViewPresenter.cs#L45 for the default behaviour)
If it helps, a simple split view display (using fixed logic rather than presentation hints) is in N=24 of http://mvvmcross.blogspot.com