protected Xamarin.Forms.Page CreateAndBindPage(Type viewModelType, object parameter)
        {
            Type pageType = GetPageTypeForViewModel(viewModelType);

            if (pageType == null)
            {
                throw new Exception($"Mapping type for {viewModelType} is not a page");
            }

            Xamarin.Forms.Page page      = Activator.CreateInstance(pageType) as Xamarin.Forms.Page;
            BaseViewModel      viewModel = ViewModelLocator.Instance.Resolve(viewModelType) as BaseViewModel;

            page.BindingContext = viewModel;


            page.Appearing += async(object sender, EventArgs e) =>
            {
                await viewModel.Appearing(parameter);
            };

            return(page);
        }