gpt4 book ai didi

c# - 如何在多个 View 之间共享数据

转载 作者:行者123 更新时间:2023-11-30 16:04:56 26 4
gpt4 key购买 nike

在 Windows 10 UWP 中,可以为单个应用程序创建多个窗口(也称为包含单独窗口和线程的 View ):

但是在 UWP 中的多个 View 之间共享数据/对象的正确方法是什么? MSDN 中没有提供这方面的信息。关于这个主题有一篇很好的文章:Windows 10, UWP, Multiple Windows, ViewModels and Sharing State .困难在于 App.xaml 是为每个 View 单独实例化的。看看其他人在类似情况下的做法很有趣吗?

一个与页面相关但与 View 无关的类似问题:(UWP) Best practice for sharing data between pages

最佳答案

在使用它时,您有多个 View ,但仍然是一个应用程序。在您链接的 MSDN 中提到了这里最重要的事情:

Each window operates in its own thread.

这使共享数据的情况变得复杂。由于您只有一个应用程序,因此您可以在应用程序类中共享一些数据,但您必须注意以下几点:

  • UI 元素只能通过 Dispatcher 线程访问,在本例中是拥有它们的线程(因此您不能共享),
  • 并发访问集合 - 因为很少有线程可以同时访问/修改它们,所以使用 Thread-Safe collections , 还有一些 help here ,
  • 在同步的情况下,您可能还需要 some primitives引导您的应用程序工作流程,
  • 竞争条件 - 谨慎设计您的应用。

您可以在许多博客/帖子中找到更多帮助。例如在 Alabhari's one .

关于c# - 如何在多个 View 之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34269514/

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