【问题标题】:Best practice for sharing data between pages在页面之间共享数据的最佳实践
【发布时间】:2016-01-19 04:26:56
【问题描述】:

我想知道在 UWP 的页面之间发送“selectedItem”等变量的最佳做法是什么?只创建一个每个 Page 都知道的静态全局变量类是个好主意吗?

【问题讨论】:

    标签: static uwp windows-phone persistence


    【解决方案1】:

    我将在这里总结微软的最佳实践

    对于简单数据(如字符串):
    使用Frame.Navigate(TypeName, Object) 方法,其中第二个参数应该always 是一个字符串(即使它允许对象)。然后可以从Frame.Navigated 事件处理程序中的NavigationEventArgs.Parameter 中提取第二个参数。

    对于复杂数据(字符串以外的任何数据):
    您可以在此处从两个选项中进行选择,具体取决于您的应用的大小和复杂性:

    • 直接管理对 App 类中任何复杂数据的引用
    • 或在任何类型的 Manager 类中保留对它们的引用,即App 类的成员。 (例如NavigationDataManager)。

    【讨论】:

    • 感谢您的精彩回答!您能否给我一个链接,指向您在哪里找到这些最佳实践,因为我有兴趣阅读它们? :)
    • @DanielBross 它在 Microsoft Virtual Academy 课程中。至少在这个German course,但也应该在这个English one
    • 好的,谢谢!幸运的是我也是德国人,所以我应该都能理解! :)
    • @Herdo,对于 Frame.Navigate 案例,是否有类似的替代方法可以在导航期间传递多个字符串?或者每个导航只能传递 一个 简单类型?谢谢!
    • @Herdo 你为我节省了很多编码工作......谢谢:)
    【解决方案2】:

    事实上,如果您使用 MVVM 方法,您在 ModelView 类中拥有所有必要的信息。如果您不使用 MVVM,只需使用单例类甚至静态全局类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-13
      • 2014-01-21
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多