/// <summary>
        /// The main TabbedPage which has four ContentPages
        /// </summary>
        public MainTabbedPage()
        {
            NavigationPage.SetHasNavigationBar(this, false);

#if ALARM_XAML
            // Alarm Xaml Page
            alarmXaml = (Clock.Pages.AlarmListPage)AlarmXamlPageController.GetInstance(TizenClock.Tizen.AlarmXaml.Pages.AlarmPages.ListPageXaml);
            Children.Add(alarmXaml);
#else
            // Alarm Page
            alarm = (AlarmListPage)AlarmPageController.GetInstance(AlarmPages.ListPage);
            Children.Add(alarm);
#endif
            // World clock Page
            wolrdclock = WorldclockPage.GetInstance();
            Children.Add(wolrdclock);

            // Stopwatch Page
            stopwatch = new Stopwatch.StopwatchPage();
            Children.Add(stopwatch);

            // Timer Page
            timer = new Timer.TimerPage();
            Children.Add(timer);

            CurrentPageChanged += MainTabbedPage_CurrentPageChanged;
        }
        /// <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(TizenClock.Tizen.AlarmXaml.Pages.AlarmPages page, Object o = null)
        {
            switch (page)
            {
            case AlarmPages.ListPageXaml:
                return(AlarmXamlPageController.alarmListPageXaml ?? (alarmListPageXaml = new Clock.Pages.AlarmListPage()));

            case AlarmPages.EditPageXaml:
                return(AlarmXamlPageController.alarmEditPageXaml ?? (alarmEditPageXaml = new Clock.Pages.AlarmEditPage((AlarmListViewModel)o)));

            default:
                return(null);
            }
        }