我试图改变我的主页,根据哪个页面被标记在我的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)获取更多信息。