获取弹出页面的公共变量

2023-12-12

我正在实例化另一个页面,并为其公共属性之一(“SomeValue”)分配一个值,如下所示:

        _btnGotoOtherPage.Clicked += async (sender, e) =>
        {
            OtherPage _otherpage = new OtherPage;
            _otherpage.SomeValue = 1033;
            await Navigation.PushAsync(_otherpage);
            return;
        };

在这个“_otherpage”中,用户可以修改这个值。

当弹出“_otherpage”时,我想查看“SomeValue”变量并用它做一些事情。

MessagingSystem 不是我所需要的,因为我不想收到值更改的通知。我只想知道当“_otherpage”弹出时这个值是多少。

我也不想使用绑定(如果可能的话!),因为我觉得在处理许多此类变量时很难组织。

也许可以通过事件来做到这一点吗?

我梦想的解决方案是(伪代码):

private void OnPagePopped()
{
    int iNewValue = PoppedPage.SomeValue;
}

谢谢。


如果您正在寻找理想的解决方案,我建议遵循 MVVM 模式并将大量代码从页面后面移至视图模型。

我使用一个名为 FreshMvvm 的 MVVM 框架。这允许我执行视图模型来查看模型导航并在它们之间传递参数,如下所示:

await CoreMethods.PushPageModel<BPageModel>(myParameter, true);

这将参数传递给了页面,我可以在 BPage 视图模型的 Init 方法中访问该页面。

当我弹出 B 页面(通过视图模型)时,我可以将参数传递回 A 页面

await CoreMethods.PopPageModel(myReturnParam, true);

我可以在 APageViewModel 的 ReverseInit 方法中访问它。

大多数 MVVM 框架都有类似的功能。

以下是有关 FreshMvvm 的更多详细信息

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

获取弹出页面的公共变量 的相关文章

随机推荐

  • 用于主轴标签的 Excel 宏

    我正在尝试编写一个宏来格式化图表以实现统一 我陷入了我认为最简单的部分 标记轴 它不会标记主值轴 y 轴 我在2010年和2013年多次录制过这个宏 有什么问题吗 我运行该宏 它在第 3 行进行调试 几乎就像标签不存在一样 仅运行前两行就证
  • 查找近似字符串匹配并替换为预定义字符串的有效方法

    我需要建立一个NER系统 命名实体识别 为简单起见 我通过使用近似字符串匹配来完成此操作 因为输入可能包含拼写错误和其他细微修改 我遇到过一些很棒的图书馆 例如 模糊模糊甚至更快快速模糊测试 但不幸的是我没有找到一种方法来返回匹配发生的位置
  • 使用 php 读取 csv 文件的最简单方法,然后选择一个特定值

    预先感谢您的时间 帮助 我是一个学习 php 的新手 所以请记住这一点 第一个问题 我需要一个读取 csv 文件的 php 脚本 第二个问题 如何回显该文件中的特定单元格 行和行 列 我在类似的回复中找到了这个脚本 该脚本完美地读取了整个文
  • 为什么 NSSet/NSMutableSet/NSCountedSet 不强制不可变对象作为条目?

    NSDictionary 键是 id 但集合的值只是 id 文档表明它们的值被保留 根据设置集合编程主题的基础知识 docs 但是 您可以修改单个对象本身 如果它们支持修改 如果修改对象 这可能会影响该对象的哈希值 从而影响查找 我认为 N
  • Oracle PL/SQL - 如何转义冒号 (:),被误解为绑定变量

    我有一个小的 PL SQL 脚本 用于尝试在两个 Oracle 数据库实例之间复制数据 我正在调用 SQL 脚本 经过清理 sqlplus username email protected 1434 SERVICENAME copyTabl
  • Azure 通知中心标签不创建也不更新 - 以特定用户为目标

    您好 我正在使用 Web api 作为后端服务 其中使用 Azure 通知中心 我需要根据条件业务逻辑通知登录用户 简而言之就是针对特定用户 我从中提取代码this文章 一切正常但是标签不创建也不更新 我需要帮助 这是我的代码片段 It r
  • JavaFX 超高清 (4K) 视频

    我想使用 JavaFX 2 MediaPlayer 播放超高清 4K 视频 但只得到黑屏 在 JRE 8 Windows 7 上运行 没有错误消息 有谁知道 JavaFX 是否可以播放超高清 4K 视频或者我可以在哪里找到这些信息 谢谢 我
  • 如何使用 Discord.js 检查消息作者是否具有管理员角色?

    我正在构建一个 Discord 机器人 我想要一个if仅当消息作者在公会中具有管理员角色时才会执行该语句 我尝试过拥有特定于角色的权限 但这意味着机器人所在的所有服务器上都必须有完全相同的名称角色 如何检查消息作者是否具有管理员角色 该角色
  • ASP.NET MVC - TempData - 好的或坏的实践

    我正在使用AcceptVerbsScott Gu 的 Preview 5 博客文章中详细介绍了处理 ASP NET MVC 中表单条目的方法 用户通过 GET 获取一个空表单 用户通过 POST 将填写的表单发布到同一操作 该操作验证数据
  • Parallel.ForEach 和 async-await [重复]

    这个问题在这里已经有答案了 我有这样的方法 public async Task
  • 如何使用Qt禁用窗口的关闭按钮?

    我想在操作开始时禁用窗口 主应用程序窗口 上的关闭按钮 以便用户无法退出应用程序并在操作完成时再次启用它 我怎样才能在 Qt 应用程序中做到这一点 我的平台是windows 7 或者 如果用户按下关闭按钮并退出应用程序 我可以显示一条消息
  • Symfony2获取位于security.yml中的access_control参数

    我试图获取位于 security yml 中的 access control 参数作为自定义服务中的数组 就像获取 role hierarchy 参数一样 我认为它可以使用以下代码 accessParameters this gt cont
  • 在 Woocommerce 档案页面上显示特定产品属性

    我想在每个产品的商店页面上显示我选择的一些特定产品属性 有必要显示属性的名称及其值 我开始编写代码 我想至少打印名称 但我只显示最后一个属性的名称 add action woocommerce after shop loop item ad
  • 全局、函数、静态类方法

    假设您有一个唯一的对象 并且它被所有其他类和函数使用 类似于 application 您将如何在函数中访问该对象 在每个函数中使用全局变量 global application application gt doStuff 创建一个函数 例
  • 如何调试 JavaScript 错误?

    如何使用 Firebug 调试 java 脚本错误 复制 如何在 Firebug 的外部 JS 脚本中设置断点 使用 FireBug 进行调试 只需检查发生错误的行 然后在该行之前编写一个 调试器 调用 debugger Will invo
  • 在asp.net中的标签中显示SQL查询结果

    我试图在标签中显示 SQL 查询结果 但它没有显示 这是我的代码 string result SELECT ACTIVE FROM dbo test WHERE ID ID Text SqlCommand showresult new Sq
  • ImportError:无法导入名称请求

    每当我使用终端 ubuntu 运行 py 代码时 我收到这个错误 Traceback most recent call last File twitterstream py line 15 in
  • 由于我们的 Sybase JDBC 驱动程序,Charset.availableCharsets 引发 NullPointerException

    我遇到了阻塞问题与我的安装 JDK 1 7 基本上我有以下NPE 10 19 17 548 main ERROR o s t w s TestDispatcherServlet Context initialization failed o
  • 运行 pyinstaller 应用程序时导入错误

    我编写了一个 Python 应用程序 它使用 from PIL import Image 我想分发此应用程序的打包版本 以便使用它的任何人都不需要安装所有依赖项 为此我用过pyinstaller 但没有取得太大成功 我跑 pyinstall
  • 获取弹出页面的公共变量

    我正在实例化另一个页面 并为其公共属性之一 SomeValue 分配一个值 如下所示 btnGotoOtherPage Clicked async sender e gt OtherPage otherpage new OtherPage