單擊按鈕后,下一頁需要一點時間來加載。這是因為下一頁創建了許多動態標簽控制元件來顯示資料。如何在處理時顯示活動指示器。
private async void ProductTypeButton_Clicked(object sender, EventArgs e)
{
await Navigation.PushAsync(new ProductPage(_ViewModel));
}
uj5u.com熱心網友回復:
在 PushAsync 到 之前ProductPage
,您需要ActivityIndicator
運行并成功導航到 之后ProductPage
,您可以設定IsLoading = false
。以下是供您參考的代碼片段:
代碼隱藏:
private bool _isLoading;
public bool IsLoading
{
get => _isLoading;
set
{
_isLoading = value;
OnPropertyChanged("IsLoading");
}
}
public MainPage()
{
InitializeComponent();
BindingContext = this;
}
private async void Button_Clicked(object sender, EventArgs e)
{
IsLoading = true;
//set the delay time to push smoothly
await Task.Delay(300);
try
{
await Navigation.PushAsync(new ProductPage());
}
finally
{
IsLoading = false;
}
}
Xaml:
<ActivityIndicator IsRunning="{Binding IsLoading}" ></ActivityIndicator>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/537941.html
上一篇:模式匹配元組與“是”關鍵字?