首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET MAUI登录页面

.NET MAUI登录页面
EN

Stack Overflow用户
提问于 2022-10-31 21:31:19
回答 2查看 321关注 0票数 3

我有一个简单的.NET毛伊岛应用程序,并试图实现一个登录页面。目标不过是显示登录页面,当用户提交名称和密码时,它将转到视图模型,然后将用户传递给MainPage。这是可行的,但是当它到达MainPage时,就没有标签了。我的Appshell.xaml看起来是这样的:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>

代码语言:javascript
复制
<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>

这个问题有明显的解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-01 17:49:48

以下是解决这个问题的一种方法:

  • 从Shell xaml.
  • 中删除“登录”,在App.xaml.cs中有一行MainPage = new AppShell();。用MainPage = new Login();.
  • When登录成功替换它,执行Application.Current.MainPage = new AppShell(); --最初在App.xaml.cs.

中的行

注意:我不建议经常调用"new ()“。但是对于Login来说,将调用延迟到Login成功之后是可以的。

还请参阅H.A.H.'s answer,它展示了另一种方法,它不涉及直接更改MainPage。我自己还没有测试过这个答案。

票数 2
EN

Stack Overflow用户

发布于 2022-11-02 15:06:19

在TabBar中,我使用Tab,在它内部使用- ShellContent。

代码语言:javascript
复制
<TabBar>
        <Tab Title="..."
             Route="HomePage"
             Icon="...">
            <ShellContent
                Title="..."
                ContentTemplate="{DataTemplate view:HomePage}" />
        </Tab>
</TabBar>

登录后的导航发生在:

代码语言:javascript
复制
await Shell.Current.GoToAsync($"//{nameof(HomePage)}");

不需要更改应用程序主页。Shell组件之间的导航非常好。尽量避免使用“新”这个词。这两个斜杠清除堆栈,因此用户无法导航回登录页,而不使用“注销”按钮。

(想一想,如果您需要将数据从登录页面、eula页面或其他内容传递到主页面,您将如何进行。然后告诉我构建AppShell是否明智.)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74269299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档