Xamarin.Forms Shell如何注入多个不同的值​在路线导航中字符串



如何将任何属性注入到我们使用Shell导航的页面中?使用Xamarin的本地导航,这很简单,因为您必须实例化页面的类型:

Navigation.PushAsync(new HomeViewPage { x = y });

在Shell中只允许我传递字符串值

Shell.Current.GoToAsync($"//home/bottomtab2?name={"Cat"}");

我正在尝试传递一个布尔值,它显示了以下错误:"类型的对象"系统。字符串"无法转换为类型"System"。布尔值".">

Shell.Current.GoToAsync($"//home/bottomtab2?test={true}");

如果你试图发送几个参数,但发送的参数都不起作用,有没有办法同时发送几个参数?

Shell.Current.GoToAsync($"//home/bottomtab2?name={"Cat"}?test={"Dog"}");

首先,当您在Route uri中传递值时,多个参数需要与&连接,而不是像那样与?连接

Shell.Current.GoToAsync($"//home/bottomtab2?name={"Cat"}&test={"Dog"}");

如果你想通过bool

Shell.Current.GoToAsync($"//home/bottomtab2?test={true}");

在你的目标页面中,你可以将其作为字符串接收,然后它就不会抛出错误,比如:

[QueryProperty("Test", "test")]
public partial class AboutPage : ContentPage
{
string test;
public string Test
{
set =>test = Uri.UnescapeDataString(value); 
get => test;
}
}

相关内容

  • 没有找到相关文章

最新更新