【问题标题】:Win8 C# Metro dispatcher and RPC_E_WRONG_THREADWin8 C# Metro 调度程序和 RPC_E_WRONG_THREAD
【发布时间】:2012-10-10 14:58:03
【问题描述】:

我正在尝试在 Windows 8 Metro 界面中使用用于 .net 的非官方 Google 音乐 api 构建应用程序。 我正在加载整个播放列表

foreach (GoogleMusicPlaylist p in pls.UserPlaylists)
                lbPlaylists.Items.Add(p.Title);

它会出现这个错误

HRESULT: 0x8001010E (RPC_E_WRONG_THREAD))

我在互联网上阅读,也许我必须使用调度程序或我通常感到困惑的东西。

【问题讨论】:

  • 您是否有机会尝试从 UI 线程以外的任何其他线程访问 UI? :)
  • @Trustme-I'maDoctor 是的,您可以看到他正在直接向 UIElement 添加项目(顺便说一句,这不是好的做法)。我认为他可能只需要使用 Dispatcher Invoke。

标签: c# windows-8 microsoft-metro


【解决方案1】:

使用这个

Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                foreach (GoogleMusicPlaylist p in pls.UserPlaylists)
                {
                    lbPlaylists.Items.Add(p.Title);
                }
            });

【讨论】:

    猜你喜欢
    • 2013-03-25
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    相关资源
    最近更新 更多