C# Band应用程序调用了为不同线程封送的接口

C# Band应用程序调用了为不同线程封送的接口,c#,async-await,microsoft-band,C#,Async Await,Microsoft Band,我正在创建Windows 8.1手机应用程序。UI有一个按钮和一个文本框(称为txtStatus) 基本上,当我在UI中单击一个按钮时,会启动以下代码(仅显示部分代码): 异常消息如下所示: 该应用程序调用了一个为 不同的线程。(HRESULT的异常:0x8001010E (RPC_E_错误_线程)) 听起来UI线程和传感器读取线程是不同的。关于如何为两者使用相同线程的任何建议。或者如何在两个线程之间传递数据 期待您的光临。此事件在后台线程中引发。用于将其封送回UI线程: private asy

我正在创建Windows 8.1手机应用程序。UI有一个按钮和一个文本框(称为txtStatus)

基本上,当我在UI中单击一个按钮时,会启动以下代码(仅显示部分代码):

异常消息如下所示:

该应用程序调用了一个为 不同的线程。(HRESULT的异常:0x8001010E (RPC_E_错误_线程))

听起来UI线程和传感器读取线程是不同的。关于如何为两者使用相同线程的任何建议。或者如何在两个线程之间传递数据


期待您的光临。

此事件在后台线程中引发。用于将其封送回UI线程:

private async void HeartRate_ReadingChanged(object sender, Microsoft.Band.Sensors.BandSensorReadingEventArgs<Microsoft.Band.Sensors.IBandHeartRateReading> e)
{
     await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, 
               () => 
               {
                   txtStatus.Text = string.Format("Current Heart Rate is: {0}", e.SensorReading.HeartRate.ToString())
               }).AsTask();
}
private async void HeartRate\u ReadingChanged(对象发送方,Microsoft.Band.Sensors.BandSensorReadingEventArgs e)
{
等待Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() => 
{
txtStatus.Text=string.Format(“当前心率为:{0}”,例如SensorReading.HeartRate.ToString())
}).AsTask();
}
txtStatus.Text = string.Format("Current Heart Rate is: {0}", e.SensorReading.HeartRate.ToString());
private async void HeartRate_ReadingChanged(object sender, Microsoft.Band.Sensors.BandSensorReadingEventArgs<Microsoft.Band.Sensors.IBandHeartRateReading> e)
{
     await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, 
               () => 
               {
                   txtStatus.Text = string.Format("Current Heart Rate is: {0}", e.SensorReading.HeartRate.ToString())
               }).AsTask();
}