[英]How do you close a view from another view in .net maui?
我正在嘗試在我的應用程序中實現加載/正忙邏輯。 當從集合視圖中選擇該項目時,它會顯示一個活動指示器的彈出窗口,效果很好。 但是,一旦另一個視圖加載,我就無法關閉彈出窗口。 我試過調用 Close() 但那沒有做任何事情。 所以幾乎只是想找出顯示活動指示器的最佳方式,然后在過程完成后關閉它。
async void ItemSelected(object sender, SelectionChangedEventArgs e)
{
var popup = new LoadingPopup();
this.ShowPopup(popup);
var item = e.CurrentSelection.FirstOrDefault();
if (item != null)
{
await Navigation.PushAsync(new YearPage(item) {BindingContext = item });
//await Application.Current.MainPage.Navigation.PushAsync(new YearPage
//{
// BindingContext = item
//});
}
}
從不同的視圖頁面調用關閉彈出窗口(因為完成工作的方法在不同的頁面上,我想在完成后關閉彈出窗口)不起作用。
您需要將對彈出窗口的引用傳遞給第二頁
var popup = new LoadingPopup();
this.ShowPopup(popup);
var item = e.CurrentSelection.FirstOrDefault();
if (item != null)
{
await Navigation.PushAsync(new YearPage(item, popup) {BindingContext = item });
那么您將不得不修改YearPage
構造函數以接受第二個參數
那么您將在LoadingPopup
上有一個公共方法,可以通過Close()
方法關閉
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.