首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Microsoft频段获取心率

从Microsoft频段获取心率
EN

Stack Overflow用户
提问于 2015-07-04 01:07:26
回答 1查看 640关注 0票数 5

我正在尝试从一个微软波段获得心率。无论何时值发生变化,它都应该进行更新。然后,我试图在TextBlock中显示该值。我首先创建一个IBandClient实例,并设置它的HeartRate.ReadingChanged方法如下:

代码语言:javascript
复制
bandClient.SensorManager.HeartRate.ReadingChanged += HeartRate_ReadingChanged;

然后,我尝试像这样更新这个值:

代码语言:javascript
复制
private void HeartRate_ReadingChanged(object sender, Microsoft.Band.Sensors.BandSensorReadingEventArgs<Microsoft.Band.Sensors.IBandHeartRateReading> e)
{
    HeartRate = e.SensorReading.HeartRate;
}

HeartRate是一个int集,如下所示:

代码语言:javascript
复制
public int HeartRate
{
    get { return (int)GetValue(HeartRateProperty); }
    set { SetValue(HeartRateProperty, value); }
}

// Using a DependencyProperty as the backing store for HeartRate.  This enables animation, styling, binding, etc...
public static readonly DependencyProperty HeartRateProperty =
    DependencyProperty.Register("HeartRate", typeof(int), typeof(MainPage), new PropertyMetadata(0));

然后将TextBlock文本绑定到HeartRate。但是,在尝试设置HeartRate时,我一直会得到这个错误。

该应用程序调用一个接口,该接口是为另一个线程编组的。(HRESULT例外: 0x8001010E (RPC_E_WRONG_THREAD))

我的猜测是,它正在尝试设置HeartRate,而之前的调用还在设置它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-04 01:15:53

尝试实现它,看看它是如何实现的,如果您仍然想要int变量,那么在文本块中显示它时,将它转换回string。

代码语言:javascript
复制
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, 
               () => 
               {
                   Textblock.Text =  e.SensorReading.HeartRate.ToString())
               }).AsTask();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31215873

复制
相关文章

相似问题

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