我有一個簡單的 .NET MAUI 應用程式,并且正在嘗試實作一個登錄頁面。目標無非是顯示登錄頁面,當用戶提交名稱和密碼時,它將轉到視圖模型,然后將用戶傳遞到 MainPage。這可行,但是當它到達 MainPage 時沒有選項卡。我的 Appshell.xaml 看起來像這樣:
<?xml version="1.0" encoding="UTF-8" ?>
<ShellItem>
<ShellContent ContentTemplate="{DataTemplate view:Login}" />
</ShellItem>
<TabBar >
<ShellContent
Title="Home"
ContentTemplate="{DataTemplate local:MainPage}"
Icon="icon_home" />
<ShellContent
Title="About"
ContentTemplate="{DataTemplate local:About}"
Icon="icon_about" />
</TabBar>
這個問題有明顯的解決方案嗎?
謝謝!
uj5u.com熱心網友回復:
這是解決此問題的一種方法:
- 從 Shell xaml 中洗掉“登錄”。
- 在
App.xaml.cs,有一條線MainPage = new AppShell();。將此替換為MainPage = new Login();. - 登錄成功后,執行
Application.Current.MainPage = new AppShell();- 最初在 App.xaml.cs 中的行。
uj5u.com熱心網友回復:
在 TabBar 內部,我使用 Tab 并在其中使用 - ShellContent。
<TabBar>
<Tab Title="..."
Route="HomePage"
Icon="...">
<ShellContent
Title="..."
ContentTemplate="{DataTemplate view:HomePage}" />
</Tab>
</TabBar>
登錄后的導航發生在:
await Shell.Current.GoToAsync($"//{nameof(HomePage)}");
無需更改應用程式主頁。您的 Shell 組件之間的導航作業得非常好。盡可能避免使用“新”這個詞。兩個斜線清除堆疊,因此用戶無法導航回登錄頁面,而不使用退出按鈕。
(想一想,如果您需要將登錄頁面、eula 頁面或其他頁面中的資料傳遞到主頁,您將如何做。然后告訴我構建您的 AppShell 是否明智......)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/525659.html
標籤:。网壳验证毛伊岛
