public void ClosePopup(object parameter) { App.AppLogger.Logger.Log(devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.Information | devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.VerboseHigh, "AppController ClosePopup."); BurgerMenuPopupViewItem popupItem = _mainPageInstance.SelectedPopupItem; if (popupItem != null) { PageNavigationAwareView view = (PageNavigationAwareView)popupItem.PopupViewInstance; view.OnNavigateFrom(); _mainPageInstance.ClosePopup(); if (_mainPageInstance.PopupsVisible) { PageNavigationAwareView selectedPopup = _mainPageInstance.SelectedPopupItem.PopupViewInstance as PageNavigationAwareView; selectedPopup.OnClosePopup(popupItem.PopupViewInstance, parameter); } else { PageNavigationAwareView selectedView = _mainPageInstance.SelectedItem.PageViewInstance as PageNavigationAwareView; selectedView.OnClosePopup(popupItem.PopupViewInstance, parameter); } } }
public void GoBack() { App.AppLogger.Logger.Log(devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.Information, "AppController GoBack."); BurgerMenuViewItem prevItem = NavigationManager.Instance.GoBack(); if (prevItem != null) { _mainPageInstance.SelectItem(prevItem); PageNavigationAwareView view = (PageNavigationAwareView)prevItem.PageViewInstance; view.OnGoBack(); } }
public PageNavigationAwareView CreateViewInstance(Type viewType) { App.AppLogger.Logger.Log(devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.Information | devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.VerboseHigh, "AppController CreateViewInstance of type '{0}'.", viewType.Name); PageNavigationAwareView viewInstance = null; if (viewType.IsSubclassOf(typeof(PageNavigationAwareView))) { viewInstance = CreateInstance <PageNavigationAwareView>(viewType); } else { throw new NotImplementedException(String.Format("View type of '{0}' is not supported.", viewType.Name)); } return(viewInstance); }
public void ShowPopup(string key, params KeyValuePair <String, Object>[] parameters) { App.AppLogger.Logger.Log(devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.Information | devoctomy.DFramework.Logging.Interfaces.LoggerMessageType.VerboseHigh, "AppController ShowPopup '{0}'.", key); BurgerMenuPopupViewItem item; _mainPageInstance.DisplayPopup(key, out item); if (item != null) { PageNavigationAwareView view = (PageNavigationAwareView)item.PopupViewInstance; view.InitialiseBindingContext(); if (parameters != null && parameters.Length > 0) { view.SetParameters(parameters); } view.OnNavigateTo(_mainPageInstance.SelectedItem, false); } }