Xamarin Shell:将多个参数传递到另一个页面

2024-03-24

我的 Xamarin Forms Shell 应用程序中有两个页面。 一个是列表页面,另一个是详细信息页面。 当我选择列表页面中的项目时,将显示详细信息页面。我能够将一个参数传递到第二页。我知道如何传递第二个值。但是我应该如何接收第一个属性本身的第二个值。

列表页:

        async private void myLines_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            var line = (Models.QLines)e.Item;
            int pno = line.PageNo;
            int lno = line.LineNo;
            await Shell.Current.GoToAsync($"//mainTabs/pages?pageno={pno}&lineno={lno}");
        }

详情页:

        public int CurrentPage { get; set; }
        public int CurrentLine { get; set; }
        public bool IsFromSearchPage { get; set; }

        public string PageNo
        {
            set
            {
                CurrentPage = Convert.ToInt32(Uri.UnescapeDataString(value));
                IsFromSearchPage = true;

                LoadPagesAsSingle();
            }
        }

        public string LineNo
        {
            set
            {
                CurrentLine = Convert.ToInt32(Uri.UnescapeDataString(value));
            }
        }

        public MyPages()
        {
            InitializeComponent();

            conn = DependencyService.Get<ISQLiteMyConnection>().GetConnection();

            IsFromSearchPage = false;

            LoadPagesAsSingle();
        }

正如中所解释的https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell/navigation#pass-data https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell/navigation#pass-data您可以使用QueryProperty之间映射的属性queryID和目标属性:

[QueryProperty("Pageno", "pageno")]
[QueryProperty("Lineno", "lineno")]

public partial class DetailPage: ContentPage
{

        private int _Pageno;
        public int Pageno
        {
            get { return _Pageno; }
            set { _Pageno = value; }
        }

        private int _Lineno;
        public int Lineno
        {
            get { return _Lineno; }
            set { _Lineno = value; }
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xamarin Shell:将多个参数传递到另一个页面 的相关文章

  • 高级 Win32 图像文件 I/O?

    我想在 Windows C 应用程序中将图像文件读入内存 什么是一个相当简单的解决方案 也许类似于 IOS 提供的UIImage 我希望支持合理数量的文件格式 我需要为图像处理的位图提供一些低级访问权限 我在互联网上阅读了很多内容 看起来
  • 如何向 UWP 项目添加 .NET dll 引用?

    我有几个适用于 NETv4 x 的 NET dll 项目 我将版本更改为 4 6 1 并重新构建 没有出现问题 当我尝试从 UWP 项目向它们添加引用时 出现错误 项目的目标是 NETCore 而文件引用的目标是 NET框架 这不是受支持的
  • LINQ to XML - 如何正确使用 XDocument

    现在我首先要说的是 这确实是一项任务 然而 在我遇到 Linq to XML 语法之前 我几乎已经完成了它 我有 2 个课程 曲目和 CD 现在作为作业的一部分 我创建了一张 CD 然后向其中添加了一些曲目 在搜索了大量完美解释了如何从 x
  • Linq Where 本地计数器关闭在 VS watch 中的结果不同

    我尝试删除前 3 个元素array与 LinQWhere扩展功能 这是一个例子 var array new 1 2 3 4 5 6 7 8 9 var count 3 var deletedTest1 0 var test1 array W
  • C++ 在 Vector 中使用不可分配的对象

    我想将对象列表存储在std vector 但对象包含引用且无法分配给 但是 我可以复制构造该对象 我能想到的唯一选择是使用指针来包装对象并在需要分配指针时重新设置指针 但这样做的语法会显着降低可读性 特别是在使用迭代器时 我更喜欢另一种选择
  • 根据拦截和返回值自动重试客户端WCF调用

    是否可以拦截 WCF 调用的结果并重试该操作 例如 操作的返回值可能包含状态代码 指示我传递到原始调用的会话令牌已过期 在这种情况下 我可以检索新的会话令牌并使用新的会话令牌重试调用 是否可以通过使用 WCF 拦截返回值 检查它 然后以对操
  • 推送 Lua 表

    我已经创建了一个Lua表C 但我不知道如何将该表推入堆栈顶部 以便我可以将其传递给 Lua 函数 有谁知道如何做到这一点 这是我当前的代码 lua createtable state libraries size 0 int table i
  • for 循环 - 没有效果的语句

    由于某种原因 我收到错误 statement with no effect关于这个声明 for j idx j lt iter j increment printf from loop idx i int idx punc ctxt j 你
  • 使用 AutoMapper 进行 LINQ GroupBy 聚合

    试图让查询工作 但老实说不确定如何 或者是否可能 进行它 因为我尝试过的一切都不起作用 共查询6个表 Person PersonVote PersonCategory Category City FirstAdminDivision Per
  • 为什么 C 函数不能返回数组类型?

    我是 C 语言新手 想知道 为什么 C 函数不能返回数组类型 我知道数组名是数组第一个值的地址 而数组是 C 中的二等公民 您自己已经回答了这个问题 数组是二等公民 C 按值返回 数组不能按值传递 因此不能返回它们 至于为什么数组不能按值传
  • 如何在 C++ 中使用 PI 常数

    我想在一些 C 程序中使用 PI 常数和三角函数 我得到三角函数include
  • 如何使用 Clang 查找内存泄漏

    我在我的机器 ubuntu 中安装了 Clang 以便发现我的 C 代码中的内存泄漏 我编写了一个示例代码来检查它的工作情况 如下所示 File hello c for leak detection include
  • 用 C# 编写的带有点击移动的 WPF 游戏

    我试图将标签网格移动到鼠标的位置 就像冒险游戏中的移动一样 理想情况下 我会在途中删除并重新绘制它们 但是 现在我只想弄清楚如何将 int 转换为厚度或 pointtoscreen 到目前为止我有 player XMove int Mous
  • 通过 MSBuild 调用 cl.exe 时无限期挂起

    我正在尝试在我的 主要是 C 项目上运行 MSBuild 想象一下一个非常庞大的代码库 Visual Studio 2015 是有问题的工具集 Windows 7 SP1 和 VS 2015 更新 2 即使使用 m 1 从而迫使它仅使用一个
  • 多个同名内存数据库

    关系到这个答案 https stackoverflow com a 48446491 596758 我试图通过设置让多个上下文工作UseInMemoryDatabase以同名 下面的测试失败 第二个上下文为空 我还需要做什么才能在内存数据库
  • 如何使用 g++ 在 c++ 20 中使用模块?

    我读了这个链接https gcc gnu org wiki cxx modules https gcc gnu org wiki cxx modules并尝试从该网站复制以下示例 我已经知道这个编译器部分支持模块系统 注 我用的是windo
  • 局部静态变量初始化是线程安全的[重复]

    这个问题在这里已经有答案了 假设我有一个包含三个静态函数的类 如下所示 include
  • 从 C# 中的 .NET SecureString 读取单个字符?

    WPF 的PasswordBox 返回一个SecureString 它对窥探者隐藏密码 问题是你最终必须获得密码的值 而我在网上找到的建议都涉及将值复制到字符串中 这会让你回到窥探者的问题 IntPtr bstr Marshal Secur
  • 如何使复选框不可选择?

    我想知道你是怎么做的CheckBox在c 中无法选择 我认为这会是类似 SetSelectable false 之类的东西 但我似乎看不到该方法 I found CanSelect但这似乎是只读属性 您可以设置自动检查 http msdn
  • 在 C# 中读取/写入命令行程序

    我正在尝试与 C 的命令行程序进行对话 它是一个情绪分析器 它的工作原理如下 CMD gt java jar analyser jar gt Starting analyser 这是我想从我的 C 程序插入内容的地方 例如 I love y

随机推荐

  • 查找表中缺失的时间间隔

    我有下表 其中包含从多个不同设备每 15 分钟读取一次的值 ID DeviceID Date Value 1 3 24 08 2011 00 00 00 0 51 2 3 24 08 2011 00 15 00 2 9 3 3 24 08
  • java.lang.AbstractMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;

    我正在尝试设置一个将在自定义 JSP 标记中引用的变量 因此我的 JSP 中有如下内容
  • registerTaskProvider 的 ProvideTasks 方法如何工作

    我正在尝试获得新的registerTaskProviderVSCode Task API 中的方法在我的扩展中工作 但到目前为止我还无法完成这项工作 我使用了 npm 扩展作为基础 以下是我遵循的步骤 使用 yo 创建一个新的扩展 更新了
  • python设置浮点精度的函数

    我想做一个功能 def accuracy number index 例如 accuracy 2 5e 10 5 将返回 0 accuracy 49 2 将返回 0 accuracy 50 2 将返回 100 所以基本上它会四舍五入到最接近的
  • Android studio gradle 构建因更新失败

    我最近将 android studio 更新到了 3 2 版本 当我尝试运行旧项目时 我在运行等级构建时收到了旧项目的以下消息 The Android Gradle plugin supports only Kotlin Gradle pl
  • 为使用 mat-autocomplete 的组件编写单元测试

    我是 Angular 的新手 我正在尝试使用 Angular 5 构建一个具有自动完成功能的文本字段 我在中找到了这个例子角度材质文档 https material angular io components autocomplete ex
  • mysql查询两张表

    我需要像这样查询两个表 表一顾客 id companyname phone 1 microsoft 888 888 8888 2 yahoo 588 555 8874 3 google 225 558 4421 etc 表二联系人 id c
  • Double.NaN 在 Windows 11 中导致 System.StackOverflowException (22621.525)

    Note 该代码适用于 Windows 11 22000 1098 及更早版本 但会在 Windows 11 22621 525 上导致堆栈溢出异常 我有一个错误 导致我负责的 C 程序出现大量问题 它在早期的 Windows 版本 包括早
  • 如何将日期插入 Open XML 工作表?

    我正在使用 Microsoft Open XML SDK 2 但在将日期插入单元格时遇到了很大的困难 我可以通过设置毫无问题地插入数字Cell DataType CellValues Number 但是当我对日期做同样的事情时 Cell D
  • 如何从 OpenSSL 中的 perl 脚本生成程序集文件

    在 OpenSSL 版本 1 1 0e 的开源代码中 我看到一些函数定义是由文件夹中存在的 perl 文件生成的 在加密货币内每个文件夹中的 build info 文件中 他们编写了一些行以从相应的 pl 生成 s 例如 为了生成aes p
  • Android 上的可写和可执行位置

    我已经使用 Android NDK 工具链编译了一个二进制文件 并尝试将其部署到设备上 然后 使用 JNI 使用 NDK 构建的应用程序将通过本机代码执行此二进制文件 我希望避免对设备进行root 该二进制文件将由多个应用程序使用 因此我想
  • 如何访问 docker 容器内的 mac os x 麦克风?

    我正在运行一个带有 python 代码的 docker 容器 该容器使用主机 MacBook Pro 内置麦克风录制几秒钟的声音 我面临的部分挑战是确定如何在 Docker 容器内提供访问 共享 Macbook Pro 麦克风 大多数关于堆
  • 数据库在更新时应用所有以前的迁移,而不仅仅是新的迁移

    我正在开发一个网站 截至目前 该网站既有生产数据库又有测试数据库 生产数据库托管在外部 而测试数据库托管在本地 每当我对数据库进行更改时 我都会通过迁移应用更改 添加新的迁移后 我运行更新数据库对我的生产和测试数据库执行命令以保持它们同步
  • 如何在 Spring data r2dbc 中替换 @PrePersist

    我在用spring boot starter data r2dbc 版本 1 1 3 Spring Webflux 应用程序中的模块 我想将实体生命周期回调添加到我的持久层 使用 Spring Data JPA 可以使用注释 例如 PreP
  • 如何在 EF7 或 EF core 中的运行时更改数据库架构

    我的数据库有不同的架构 具体取决于运行时的用户选择 我的代码如下 public partial class FashionContext DbContext private string schema public FashionConte
  • CSS 中的双冒号 (::) 是什么意思?

    双冒号 在 CSS 中意味着什么 例如 input type text ms clear display none 它的意思是伪元素选择器 这意味着element右边在普通 DOM 中不存在 但可以选择 伪元素由两个冒号 后跟伪元素的名称组
  • MigraDoc:设置文档字体

    我想在 MigraDoc 中使用不同的字体 但我很难让它坚持下来 目前 我正在使用以下代码 我将其作为类范围变量 String tPdfFont MonospaceTyperwriter 然后是 MigraDoc 代码本身 Document
  • 对...()感到困惑?

    In 另一个问题 https stackoverflow com a 12417320 636656 sapply substitute as character 在函数内部使用来获取传递给函数的名称 这as character部分听起来不
  • 使用php将单词数组转换为字符串

    我有一系列关键字 数组 gt 房子 桌子 马 树 我需要从中创建一个字符串 如下所示 房子 桌子 马 树 我怎样才能用 PHP 做到这一点 Use implode https www php net manual en function i
  • Xamarin Shell:将多个参数传递到另一个页面

    我的 Xamarin Forms Shell 应用程序中有两个页面 一个是列表页面 另一个是详细信息页面 当我选择列表页面中的项目时 将显示详细信息页面 我能够将一个参数传递到第二页 我知道如何传递第二个值 但是我应该如何接收第一个属性本身