DisplayAlert()未在自定义布局中显示

时间:2016-09-21 08:38:41

标签: c# xamarin.forms

我在Xamarin.Forms中实现了自己的WrapLayout。现在,页面构造函数中的DisplayAlert没有显示任何内容。

 public WrapLayoutExtendedPage()
 {
       InitializeComponent();

       wrapLayoutExtended.Children.Add(new CustomLabel() { Text = "Label 1 Test", WidthRequest = 500, BackgroundColor = Color.Green, Length = 3 });
       wrapLayoutExtended.Children.Add(new CustomEntry() { WidthRequest = 900, BackgroundColor = Color.Red, Length = 9, InsertBreakAfter = true });

       wrapLayoutExtended.Children.Add(new CustomLabel() { Text = "Label 2 Test", WidthRequest = 500, BackgroundColor = Color.Green, Length = 5 });
       wrapLayoutExtended.Children.Add(new CustomEntry() { WidthRequest = 900, BackgroundColor = Color.Red, Length = 7, InsertBreakAfter = true });

       DisplayAlert("TEST", "TEST", "OK");
}

没有例外或者其他什么。我试图在UI线程上运行它:

Device.BeginInvokeOnMainThread(() =>
{
     DisplayAlert("TEST", "TEST", "OK");
});

它没有任何改变。

1 个答案:

答案 0 :(得分:0)

你需要await它,不应该在构造函数中调用。

示例:

public async void OnAppearing()
{
    await DisplayAlert("TEST", "TEST", "OK");
}