1

私の問題は、このリンクとまったく同じです。

C# の Metro アプリケーション用の新しい WinRT (win8 リリース プレビュー) に取り組んでいます。問題は次のとおりです。私のアプリ 私のプログラムは、サーバーからメッセージを受信するバックグラウンドでスレッドを実行します (実際、私は XMPP クライアント アプリを移植しました)。一部の情報は UI で更新する必要があります。

私はそのリンクを試しました。2番目の方法はうまくいくようですが、VS2012RC intellisense にはDispatcher.Invoke(...) がないことがわかりました。つまり、この拡張メソッドはありません。

慎重に検索した後、おそらくこのリンクが役立つと思います。しかし、このシナリオでアプリケーションを開始する方法がわかりません (私は C# の初心者であるため)。

アドバイスをいただけますか?非常に役立つコードスニペットを示していただければ幸いです。どうもありがとう。

4

1 に答える 1

1

UI スレッドのどこかで次を実行します。

CoreDispatcher dispatcher = Windows.UI.CoreWindow.GetForCurrentThread().Dispatcher;

次に、バックグラウンド スレッドから、作成したばかりの変数でRunAsync関数を呼び出します。dispatcher

dispatcher.RunAsync(DispatcherPriority.Normal, <delegate to run on UI thread>);
于 2012-06-12T09:54:31.507 に答える