【问题标题】:Proper way of passing parameters between UWP pages?在 UWP 页面之间传递参数的正确方法?
【发布时间】:2019-03-04 14:50:20
【问题描述】:

我目前需要在 C++ UWP 程序的 3 到 5 页之间传递大约 10-15 个布尔变量和 1 个字符串变量。我尝试在头文件中使用全局变量,但由于 UWP 的结构,它最终会在每个页面中重复。我在 SO 上偶然发现了这篇文章:Pass some parameters between pages in UWP

这似乎是一个可行的选择,但我想知道如何准确地执行该帖子中列出的内容,但使用 C++ 和布尔变量。我不知道如何将 C# 代码转换为 C++ 代码,但它看起来非常相似。我从那篇文章中得到的另一个大问题是我在哪里声明公共类?在头文件中?在.cpp 文件中?

【问题讨论】:

  • 你的头文件应该只包含全局变量的声明,而不是定义。如果您想按照链接文章中提到的方式进行操作,请创建一个包含所需信息的 WinRT 类并传递对其的引用。 (详细信息取决于您使用的是哪种 C++ 风格。C++/CX?C++/WinRT?C++/ABI?)
  • @RaymondChen 我目前正在使用 c++/CX。
  • 在这种情况下,您可以在头文件中定义一个新的ref class RestaurantParamsref new。将其作为导航参数传递,并在 OnNavigatedTo 中执行 auto parameters = safe_cast<RestaurantParameters^>(e->Parameter);
  • @RaymondChen,您可以在一个小型测试程序中创建它吗?我对 UWP 开发团队还很陌生,我不明白你会把你提到的一半东西放在哪里。谢谢。
  • 自定义 ref class 的一个示例是 UWP 示例之一中的 CaptureFailedEventArgs。 (众多示例之一。)

标签: c++ parameters uwp


【解决方案1】:

在标头中声明变量时使用extern 关键字,例如:extern int global_var(int global_var(global_var=x(

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-04-22
  • 2016-05-20
  • 1970-01-01
  • 1970-01-01
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多