Xamarin Forms with Shell: Change MainPage



我试图改变我的主页,根据哪个页面被标记在我的RadioButton组,在我的设置。因此,如果标记第一个将是" page ",否则,"BPage"。但是当我试图改变MainPage = new AppShell();,它只是忽略,不去另一个页面。我的标准主页注册为:

<ShellContent Title="{x:Static resource:AppResources.home}" Icon="home_icon.png" Route="MainPage" ContentTemplate="{DataTemplate local:MainPage}" />,但我试图删除这个Route,并做这样的事情:

DatabaseAccess DAO = new DatabaseAccess();
if (Convert.ToInt32(DAO.GetRadioValue()[0].RadioButtonValue) == 1)
category.Route = "MainPage";
else
home.Route = "MainPage";         

但它仍然不起作用。即使我转到标准MainPage的代码后面并放置Shell.Current.GoToAsync(nameof(CategoryPage));,也不做任何事情。

任何想法?

您可以在xaml页面使用<ShellContent ... Route="xxx" />或在cs页面使用Routing.RegisterRoute("xxx", typeof(xxx));注册Route

然后检查您的DAO.GetRadioValue()[0].RadioButtonValue值并使用await Shell.Current.GoToAsync("xxx");进行页面跳转。

您可以查看此链接(https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell/navigation)获取更多信息。

相关内容

  • 没有找到相关文章

最新更新