首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 10 IoT核心,共享IoT数据

Windows 10 IoT核心,共享IoT数据
EN

Stack Overflow用户
提问于 2016-04-11 12:29:06
回答 1查看 409关注 0票数 1

我的windows 10 IOT核心应用程序使用SPI来收集许多实体的更改通知。启动计时器来获取SPI数据、更新数据以及将UI元素绑定到此数据上,有一些很好的示例。结果是,只要SPI获得有关更改的实体的某些数据,驱动UI的数据就会更新,绑定到此数据的任何UI元素也会更新。我甚至可以通过使用双向绑定来跟踪列表上的选定项,从而更改此页面上显示的数据子集。

就像许多示例一样,我的代码结构如下:

代码语言:javascript
复制
public async void Init_SPI()
        {
           ....
            periodicTimer = new Timer(this.TimerCallback, null, 0, 10);
        } // public async void Init_SPI()

 private void TimerCallback(object state)
        {
            /* UI updates must be invoked on the UI thread */
            var task =
             this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
            { ... update states of data that many be bound to UI element

我的问题/问题:

我不知道如何根据上面的内容更新多个页面的数据,因为this.variable引用了启动计时器的页面的UI线程。

更新静态类并让多个页面不断轮询此静态数据以使UI跟踪这些大量元素的效率太低了。

我目前唯一的想法是在一个页面中编码所有的XAML页面,并在这些“虚拟”页面之间添加标签。我宁愿有多个页面,以保持这些页面的功能分离。

任何关于如何从SPI端口上读取的数据更新多个页面的建议都将不胜感激。

向您致敬,约翰

EN

回答 1

Stack Overflow用户

发布于 2016-11-22 02:58:43

很抱歉回答得太晚了,但我的解决方案是仍然创建“真正的”页面--但只将数据“中继”到当前可见的页面。因此,每当页面变得可见时,我都会将代码片段的内部部分放在{ ... update states of data [...]之上,以指出该页面。这可以通过一个简单的switch语句来实现,或者通过一个带有HandleSpiData(TheSpiData)方法的简单接口来实现--甚至是一个简单的Action<YourSpiData>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36539861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档