Страница будет отображаться только при использовании Task.Delay ()!
Примечание: обновлено, чтобы предоставить больше информации о моем коде / вызовах, также я обнаружил, что если метод настраиваемого диалогового окна получает вызывается везде, где есть метод возврата, тогда диалоговое окно отключено (по крайней мере, в диалоговом окне ничего не работает), если я помещаю тот же вызов в метод void, мне не нужен await Task.Delay, и все реагирует, например поскольку индикатор активности вращается и так далее ...
здесь инициализируется страница ...
public void InitLoadingPage(ContentPage loadingPage = null)
{
// check if the page parameter is available
if (loadingPage != null)
{
// build the loading page with native base
loadingPage.Parent = Xamarin.Forms.Application.Current.MainPage;
loadingPage.Layout(new Rectangle(0, 0,
Xamarin.Forms.Application.Current.MainPage.Width,
Xamarin.Forms.Application.Current.MainPage.Height));
var renderer = loadingPage.GetOrCreateRenderer();
_nativeView = renderer.View;
_dialog = new Dialog(CrossCurrentActivity.Current.Activity);
_dialog.RequestWindowFeature((int)WindowFeatures.NoTitle);
_dialog.SetCancelable(true);
_dialog.SetContentView(_nativeView);
Window window = _dialog.Window;
window.SetLayout(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent);
window.ClearFlags(WindowManagerFlags.DimBehind);
window.SetBackgroundDrawable(new ColorDrawable(Android.Graphics.Color.Transparent));
_isInitialized = true;
}
}
Вот способ показать страницу ..
public void ShowLoadingPage()
{
// check if the user has set the page or not
if (!_isInitialized)
InitLoadingPage(new LoadingPageDefault()); // set the default page
// showing the native loading page
_dialog.Show();
}
И он называется так ...
DependencyService.Get<ILodingPageService>().InitLoadingPage(new NetWorkScanPage());
DependencyService.Get<ILodingPageService>().ShowLoadingPage();
while (BaseObject.IsBusy)
{
await Task.Delay(1000).ConfigureAwait(true);
}
BaseObject.IsBusy = true;
Мой вопрос ... Есть ли способ показать окно без использования await Task.Delay (1000)?