1

我的Windows運行時應用程序讀取NDEF NFC標籤。 當應用程序讀取NFC標籤時,我的方法message received將打開。來自HRESULT的Windows Phone異常:0x8001010E(RPC_E_WRONG_THREAD)

private void messageReceived(ProximityDevice sender, ProximityMessage message) 
{ 
    device.StopSubscribingForMessage(NFCID); 
    var ndefMessage = NdefMessage.FromByteArray(message.Data.ToArray()); 

    StringBuilder sb = new StringBuilder(); 
    foreach (NdefRecord record in ndefMessage) sb.AppendLine(Encoding.UTF8.GetString(record.Payload, 0, record.Payload.Length)); 

    String data= sb.ToString(); 
    ShowData(data); 
} 

private void ShowData(string data) 
{ 
    tbx.Text = data; 
} 

當我想這個數據設置爲一個文本框,每次拋出異常: 異常來自HRESULT:0x8001010E(RPC_E_WRONG_THREAD)

回答

4

您需要先派遣它:

Dispatcher.RunAsync(CoreDispatcherPriority.Normal,() => 
     { 
      tbx.Text = data; 
     }); 

編輯:顯然這並不總是最好的解決方案。如果您仍然收到該錯誤,請執行此操作:Run code on UI thread in WinRT

相關問題