簡體   English   中英

如何在 .net maui 中從另一個視圖關閉一個視圖?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM