如何将任何属性注入到我们使用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;
}
}