c#/XAML を使用して Windows 8 アプリケーションに取り組んでいます。この行で次のエラーが発生するこのイベントハンドラーを除いて、すべてが機能しています。
RefreshUserInfoAsync(); を待ちます。
アプリケーションは、別のスレッド用にマーシャリングされたインターフェースを呼び出しました。(HRESULT からの例外: 0x8001010E (RPC_E_WRONG_THREAD))
この監視可能なコレクションは、アプリ クラスのプッシュ通知ハンドラーから更新されており、このイベント ハンドラーはビュー モデルにあります。MVVM Light のようなフレームワークは使用していません。これに関する他の投稿をいくつか見て、独自の Dispatcher Helper を作成しようとしましたが、Window.Current.Dispatcher が null である別のエラーを受け取りました。これを機能させる方法はありますか?
強調されたテキスト
private async void PushActions_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { string action = e.NewItems[0] as string; if(action != null) { await RefreshUserInfoAsync(); } } private async Task RefreshUserInfoAsync() { var userInfos = await SessionRepository.GetSessionUsersWithInfoAsync(SessionGuid, RoundGuid); this.UserInfoList = new ObservableCollection<UserInfo>(userInfos); }