private void CompleteOperationCallback(IViewModel viewModel, IDataContext context) { var result = ViewModelExtensions.GetOperationResult(viewModel); var operationResult = OperationResult.CreateResult(OperationType.PageNavigation, viewModel, result, context); CallbackManager.SetResult(operationResult); }
protected virtual void MultiViewModelOnViewModelClosed(IMultiViewModel sender, ValueEventArgs <IViewModel> args) { var context = new NavigationContext(NavigationType.Tab, NavigationMode.Back, args.Value, MultiViewModel.SelectedItem, MultiViewModel); var result = ViewModelExtensions.GetOperationResult(args.Value); CallbackManager.SetResult(OperationResult.CreateResult(OperationType.TabNavigation, args.Value, result, context)); }
private void CompleteClose() { INavigationContext context = CreateCloseContext(); OnClosed(_closeParameter, context); var result = ViewModelExtensions.GetOperationResult(ViewModel); OperationCallbackManager.SetResult(OperationResult.CreateResult(OperationType.WindowNavigation, ViewModel, result, context)); _closeParameter = null; _shouldClose = false; _isOpen = false; TView view = View; if (view == null) { return; } ThreadManager.Invoke(ExecutionMode.AsynchronousOnUiThread, this, view, context, (@base, v, ctx) => { @base.CleanupView(v); @base._viewManager .CleanupViewAsync(@base.ViewModel, ctx) .WithTaskExceptionHandler(@base.ViewModel); }); View = null; }