gpt4 book ai didi

c# - Xamarin.Forms Shell 如何在路由导航中向字符串注入(inject)多个不同的值

转载 作者:行者123 更新时间:2023-12-03 23:50:39 25 4
gpt4 key购买 nike

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

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

在 Shell 中只允许我传递字符串值
Shell.Current.GoToAsync($"//home/bottomtab2?name={"Cat"}");

我正在尝试传递一个 bool 值,它向我显示以下错误:
'System.String' 类型的对象无法转换为'System.Boolean' 类型。
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;

}
}

关于c# - Xamarin.Forms Shell 如何在路由导航中向字符串注入(inject)多个不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58543694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com