我正在使用 Xamarin Forms 開發一個多平臺應用程式,我需要將一個帶有用戶資訊的引數從我的 LoginPage 傳遞到我的 HarvestPage(它是農民的應用程式,順便說一句)。我正在使用 MVVM 架構,但沒有 MVVM 框架。
因此,用戶在其中執行身份驗證,LoginPage然后應用程式導航到我AppShell有 4 個底部選項卡的位置。
在LoginPage.xaml.cs我導航到我的 ShellPage 的第一個選項卡(此頁面不需要引數):
private async void OnLoginClicked(LoginViewModel sender, Usuario args)
{
Application.Current.MainPage = new AppShell(args);
await Shell.Current.GoToAsync("//market");
}
然后在我的AppShell.xaml頁面中宣告標簽的內容:
<TabBar>
<ShellContent Title="Market" Icon="exchange.png" ContentTemplate="{DataTemplate local:MarketPage}" Route="market" />
<ShellContent Title="Harvest" Icon="sugarcane.png" ContentTemplate="{DataTemplate local:HarvestPage}" Route="harvest" />
...
</TabBar>
在AppShell.xaml.cs我配置路線:
private Usuario _user;
public AppShell(Usuario user)
{
InitializeComponent();
_user = user;
Routing.RegisterRoute(nameof(HarvestPage), typeof(HarvestPage));
Routing.RegisterRoute(nameof(MarketPage), typeof(MarketPage));
...
}
用戶資訊被發送到AppShell.xaml.cs但我如何將用戶引數傳遞給我的HarvestPage?
我不能GoToAsync像其他問題中建議的那樣使用,因為沒有導航按鈕,從 MarketPage 到 HarvestPage 的導航是通過底部選項卡進行的。
uj5u.com熱心網友回復:
您可以定義為公開:
public Usuario User;
然后從您的HarvestPage使用中訪問它:
(Shell.Current as AppShell).User
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/443428.html
