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); }