在我的 Xamarin 表單中,我有兩個頁面
- 主頁
- 登錄頁面
在主頁上,我在 cs 檔案中有一個名為 getfocus() 的函式。MainPage 是主表單,LoginPage 是子表單。LoginPage 出現在 MainPage 的頂部。一旦我關閉 LoginPage 我想要呼叫 MainPage 的 getfocus() 函式。我在 xaml 中嘗試了 contentpage 的“聚焦”屬性,但它不起作用。下面是 LoginPage 上的代碼,之后應該呼叫 mainpage 上的函式。以下行用于關閉 LoginPage。
等待 PopupNavigation.Instance.PopAsync(true);
uj5u.com熱心網友回復:
你可以用MessagingCenter來實作這個功能,根據你的說法你好像是用的Popup Page Plugin插件。
我寫了一個小例子供你參考,希望能解決你的問題。
首先在您
的代碼下方await PopupNavigation.Instance.PopAsync(true);添加MessagingCenter.Send<object>(this, "Hi");;使用這行代碼注冊 MessagingCenter。
然后這里是 MainPage 代碼:
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
MessagingCenter.Subscribe<object>(this, "Hi", (sender) =>
{
getfocus();
});
}
private async void Button_Clicked(object sender, EventArgs e)
{
await Navigation.PushPopupAsync(new LoginPage());
}
private void getfocus()
{
}
}
使用 MessagingCenter.Subscribe 接收和呼叫 getfocus() 方法。
更多關于 MessagingCenter 的資訊,可以參考:https : //docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/messaging-center
uj5u.com熱心網友回復:
不幸的是,我必須改變我的導航模式。但感謝大家的支持
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/397991.html
