public static void OnViewDestroy(this IMvxWindowsView storeView, int key)
 {
     if (key > 0)
     {
         var viewModelLoader = Mvx.IoCProvider.Resolve <IMvxWindowsViewModelRequestTranslator>();
         viewModelLoader.RemoveSubViewModelWithKey(key);
     }
 }
示例#2
0
        public static ValueTask OnViewCreate(this IMvxWindowsView storeView, string requestText, Func <IMvxBundle?> bundleLoader)
        {
            if (bundleLoader == null)
            {
                throw new NullReferenceException(nameof(bundleLoader));
            }

            return(storeView.OnViewCreate(() => storeView.LoadViewModel(requestText, bundleLoader())));
        }
        public static void OnViewCreate(this IMvxWindowsView storeView, Func <IMvxViewModel> viewModelLoader)
        {
            if (storeView.ViewModel != null)
            {
                return;
            }

            var viewModel = viewModelLoader();

            storeView.ViewModel = viewModel;
        }
示例#4
0
        private static IMvxViewModel LoadViewModel(this IMvxWindowsView storeView,
                                                   string requestText,
                                                   IMvxBundle bundle)
        {
#warning ClearingBackStack disabled for now
            //            if (viewModelRequest.ClearTop)
            //            {
            //#warning TODO - BackStack not cleared for WinRT
            //phoneView.ClearBackStack();
            //            }
            var viewModelLoader = Mvx.Resolve <IMvxWindowsViewModelLoader>();
            return(viewModelLoader.Load(requestText, bundle));
        }
示例#5
0
        public static async ValueTask OnViewCreate(this IMvxWindowsView storeView, Func <ValueTask <IMvxViewModel> > viewModelLoader)
        {
            if (storeView == null)
            {
                throw new NullReferenceException(nameof(storeView));
            }
            if (viewModelLoader == null)
            {
                throw new NullReferenceException(nameof(viewModelLoader));
            }

            if (storeView.ViewModel != null)
            {
                return;
            }

            var viewModel = await viewModelLoader().ConfigureAwait(false);

            storeView.ViewModel = viewModel;
        }
 public static void OnViewCreate(this IMvxWindowsView storeView, string requestText, Func <IMvxBundle> bundleLoader)
 {
     storeView.OnViewCreate(() => { return(storeView.LoadViewModel(requestText, bundleLoader())); });
 }
示例#7
0
 public static void OnViewDestroy(this IMvxWindowsView storeView)
 {
     // nothing to do currently
 }