如何解决如何使用 Xamarin 表单外壳在弹出项目中显示不同项目和在底部选项卡栏中显示不同项目?
我正在处理汉堡菜单和底部标签栏项目。下面是我的 AppShell.xaml 文件。
<!-- LoginPage -->
<ShellContent Route="login"
ContentTemplate="{DataTemplate local:LoginPage}">
</ShellContent>
<FlyoutItem Route="about" FlyoutdisplayOptions="AsMultipleItems">
<ShellContent Title="About" Icon="icon_about.png" Route="AboutPage" ContentTemplate="{DataTemplate local:AboutPage}" />
<ShellContent Title="browse" Icon="icon_Feed.png" ContentTemplate="{DataTemplate local:ItemsPage}" />
</FlyoutItem>
目前在弹出菜单和底部选项卡中显示相同的项目。但是根据我在弹出菜单中的要求,我必须显示 AboutPage 和 browse 页面,并且在底部选项卡中我必须显示 Market Tab 和 Address 选项卡。但它在底部选项卡中仅显示“关于”选项卡和“浏览”选项卡。谁能告诉如何在底部标签中显示不同的项目?
提前致谢。
解决方法
您可以使用 MenuItem
在弹出窗口中显示项目。并使用 FlyoutItem
在底部标签栏中显示标签,而无需将 FlyoutDisplayOptions
属性设置为 AsMultipleItems
。
XML:
<MenuItem
Command="{Binding AboutCommand}"
Icon="tab_about.png"
Text="About" />
<FlyoutItem>
<ShellContent Title="Market" ContentTemplate="{DataTemplate local:Market}" />
<ShellContent Title="Address" ContentTemplate="{DataTemplate local:Address}" />
</FlyoutItem>
背后的代码:
public ICommand AboutCommand => new Command(async () => await NavigatedToAbout());
async Task NavigatedToAbout()
{
await Shell.Current.GoToAsync("about");
}
public AppShell()
{
InitializeComponent();
Routing.RegisterRoute("about",typeof(AboutPage));
BindingContext = this;
}
截图:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。