1

私はWindows 8アプリに取り組んでいます。アプリの実行中に、ユーザーのインターネット接続がいつ復元されるかを判断しようとしています。これを行うために、私はNetworkChange_NetworkAddressChangedイベントを聞いています。そのイベントが発生すると、UI を更新し、 というメソッドを介して Web サービスへのクエリを実行しようとしますGetLatestData。イベント内からこのメソッドを呼び出そうとするとNetworkChange_NetworkAddressChanged、現在、次のようなエラーが発生します。

アプリケーションは、別のスレッド用にマーシャリングされたインターフェースを呼び出しました。

このエラーを克服して UI を更新し、NetworkChange_NetworkAddressChangedイベントから Web サービスにアクセスするにはどうすればよいですか?

4

2 に答える 2

4
    NetworkInformation.NetworkStatusChanged += (sender) =>
    {
        Window.Current.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, Update);
    };

上記の呼び出し (マーシャル) のサンプル UI スレッドを使用して関数を更新します。

于 2012-06-20T19:41:34.147 に答える
0

Windows 7 と同じ方法で、UI スレッド Dispatcher を使用して UI スレッドにマーシャリングします。

于 2012-06-20T14:58:40.330 に答える