public static async Task <bool> SwitchMainPageAsync(NavigableViewModel viewModel, bool isNavPage = false, params object[] prepareData)
        {
            if (!await viewModel.OnPrepareViewAsync(prepareData))
            {
                throw new Exception($"Failed OnInitializeView, viewModel: {viewModel.GetType().FullName}");
            }

            if (Application.Current.MainPage is MasterDetailPage masterPage)
            {
                if (isNavPage)
                {
                    masterPage.Detail = new MaterialNavigationPage(viewModel.CoupledPage);
                }
                else
                {
                    masterPage.Detail = viewModel.CoupledPage;
                }
            }
            else
            {
                if (isNavPage)
                {
                    Application.Current.MainPage = new MaterialNavigationPage(viewModel.CoupledPage);
                }
                else
                {
                    Application.Current.MainPage = viewModel.CoupledPage;
                }
            }

            return(true);
        }
        public static async Task <bool> PushNavPageAsync(NavigableViewModel viewModel, params object[] prepareData)
        {
            if (!await viewModel.OnPrepareViewAsync(prepareData))
            {
                throw new Exception($"Failed OnInitializeView, viewModel: {viewModel.GetType().FullName}");
            }

            await Application.Current.MainPage.Navigation.PushAsync(viewModel.CoupledPage, false);

            await Task.Delay(1500);

            return(true);
        }