示例#1
0
        public static void OnViewCreate <TViewModel>(this IMvxWindowsPhoneView <TViewModel> phoneView, Uri navigationUri)
            where TViewModel : class, IMvxViewModel
        {
            var view = phoneView as IMvxView <TViewModel>;

            view.OnViewCreate(() => { return(phoneView.LoadViewModel(navigationUri)); });
        }
示例#2
0
        private static TViewModel LoadViewModel <TViewModel>(this IMvxWindowsPhoneView <TViewModel> phoneView, Uri navigationUri)
            where TViewModel : class, IMvxViewModel
        {
            var translatorService = phoneView.GetService <IMvxWindowsPhoneViewModelRequestTranslator>();
            var viewModelRequest  = translatorService.GetRequestFromXamlUri(navigationUri);

            if (viewModelRequest.ClearTop)
            {
                phoneView.ClearBackStack();
            }

            var loaderService = phoneView.GetService <IMvxViewModelLoader>();
            var viewModel     = loaderService.LoadViewModel(viewModelRequest);

            return((TViewModel)viewModel);
        }