public static async Task DisplayAlert(string title, string message, string cancel) { var tcs = new TaskCompletionSource <bool>(); Device.BeginInvokeOnMainThread(async() => { var sourceView = CurrentView == null ? m_homeView : CurrentView; await CurrentView.DisplayAlert(title, message, cancel); tcs.SetResult(true); }); await tcs.Task; }