/// <summary> /// Static get instace method to get proper page /// </summary> /// <param name="page">The page to push</param> /// <seealso cref="AlarmPages"> /// <param name="page">Parameter to be passed to the page. This can be null</param> /// <seealso cref="Object"> /// <returns>Returns requested Page object</returns> public static Page GetInstance(AlarmPages page, Object o = null) { switch (page) { case AlarmPages.ListPage: return(AlarmPageController.alarmListPage ?? (alarmListPage = new AlarmListPage())); case AlarmPages.EditPage: // parameter 'o' is AlarmRecord object to show in AlarmEditPage. // 1. Copy values to AlarmModel.BindableAlarmRecord AlarmModel.BindableAlarmRecord.DeepCopy((AlarmRecord)o); // 2. Apply values to EditPage (at first, create UIs. next time, just show it) alarmEditPage?.Update((AlarmRecord)o); return(AlarmPageController.alarmEditPage ?? (alarmEditPage = new AlarmEditPage((AlarmRecord)o))); case AlarmPages.TypePage: alarmTypePage?.Update(); return(AlarmPageController.alarmTypePage ?? (alarmTypePage = new AlarmTypePage())); case AlarmPages.RepeatPage: alarmRepeatPage?.Update(); return(AlarmPageController.alarmRepeatPage ?? (alarmRepeatPage = new AlarmRepeatPage())); case AlarmPages.TonePage: alarmTonePage?.Update(); return(AlarmPageController.alarmTonePage ?? (alarmTonePage = new AlarmTonePage())); case AlarmPages.DeletePage: return(AlarmPageController.alarmDeletePage ?? (alarmDeletePage = new AlarmDeletePage())); default: return(null); } }
// Constructor public AlarmDeleteListCell() : base() { // Set current page currentPage = ((AlarmDeletePage)AlarmPageController.GetInstance(AlarmPages.DeletePage)); }