私のアプリケーションでは、リアクティブな拡張機能を使ってWebリクエストを行っています。私の問題は、私は2つの要求をしています。最初のリクエストで、私はサーバーからURLを取得し、そのURLを使用して、イメージと説明を取得する別のリクエストを送信しています。私の最初の要求では、私はタイトルと日付関連の情報を取得します。私がやっていることは、私のモデルクラスのデータを解析し、そこから別のリクエストを呼び出すことです。ここで私は応答を受け取ったときに、結果を保持できるクラスオブジェクトにそれを追加します。私の最初の要求の完全な(onnext、error、complete)部分が私に達すると、私の財産の両方の結果が得られます。しかし、問題は対応する変更、つまり2番目のWebリクエストの結果が自分のUIに反映されていないことです。この問題を避けるために誰も助けてください。(Rxとwindows Phoneで)テキストをバインドする問題
答えて
コードを構造化する方法は次のとおりです。空白を少し埋める必要があるため、完全な解決策ではありませんが、簡単にする必要があります。私はあなたがこのようなクラスを持っているでしょう前提で開始
:
public class X
{
public Uri Uri { get; set; }
public string Title { get; set; }
public DateTime Date { get; set; }
}
public class Y
{
public System.Drawing.Image Image { get; set; }
public string Description { get; set; }
}
public class Z
{
public Uri Uri { get; set; }
public string Title { get; set; }
public DateTime Date { get; set; }
public System.Drawing.Image Image { get; set; }
public string Description { get; set; }
}
は今、私はこの2つの関数を作成しました:
Func<IObservable<X>> getX =
() =>
{
/* you must write this code */
};
Func<X, IObservable<Y>> getYFromX =
x =>
{
/* you must write this code */
};
は、彼らはあなたのコードの2つの部分を表しています。
はここでそれらを一緒に参加する方法は次のとおりです。
IObservable<Z> getZ =
from x in getX()
from y in getYFromX(x)
select new Z()
{
Uri = x.Uri,
Title = x.Title,
Date = x.Date,
Image = y.Image,
Description = y.Description,
};
ここSelectMany
を使ったRx魔法は一緒にあなたの二つのサブ部分を結合します。うまくいけば、getX
& getYFromX
の機能を定義する方が簡単になるでしょう。
あなたは)ObserveOnDispatcher()
を使用してUIスレッドに戻りますか? b)DataContextとして設定しているクラスのプロパティでINotifyPropertyChanged.PropertyChanged
イベントを発生させる?
階層は次のようなものです MainViewModelでは、モデルタイプとしてクラスタイプを使用してプロパティを追加しました。私のmainviewmodelでは、私はINotifyPropertyChangedを実装しました。うん、私はディスパッチャーで観測を使用しています。 –
@NithaPaul - リクエストは間違いなく完了していますか?オブジェクトグラフを表示されていないプロパティ(例えば、 'MainViewModel.Something.Title')に記述することはできますか? –
私は自分の問題が最初のリクエストの結果であると思うし、ui ..を反映します。それ以降は2番目のreqが来ています。 SpComはOnCompletedで結果を見ることができます。しかし、私はそれを解決しません..私は解決策を探しています.. OnCompletedの値を再割り当てすると一時的に私の問題は解決しますが、それは私が探している修正ではないと思います..あなたは解決するためにこの問題? –
- 1. Windows Phone BackgroundTransferRequest問題
- 2. Windows Phone 7エミュレータの問題
- 3. Windows Phone Panorama +データバインディングの問題
- 4. オリエンテーション問題のWindows Phone 7
- 5. Windows Phoneエミュレータの問題
- 6. Windows Phoneのバックボタンの問題
- 7. Windows Phone 7スレッドの問題
- 8. Windows phoneアプリケーションでReactive Extensions [RX]を使用するには?
- 9. Windows Phone 7戻るボタンの問題
- 10. MonogameのWindows Phoneレンダリングの問題
- 11. Windows Phoneバックグラウンドイメージの変更パフォーマンスの問題
- 12. Windows phone 8 SDKインストールの問題
- 13. Windows Phone SDK 7.1 DirectXの問題
- 14. Windows Phone 7オーディオ録音の問題
- 15. ソフトキーボードのUWP XAML Windows Phoneダイアログの問題
- 16. Rxフィードバック例問題
- 17. Windows Phone Appでメモリの問題を解決する方法
- 18. Windows Phoneでプログレスバードット間隔の問題が発生する
- 19. 私のプロジェクトをWindows Phone 7.1アップデートで実行するときの問題
- 20. Windows Phone 7でネストされたRx Webリクエストコールを処理する方法
- 21. Windows Phone 7でStringFormatでバインドするには?
- 22. Windows Phoneでのメモリの問題ページの遷移
- 23. System.Linq.Xmlで複数のノードを選択したときのWindows Phoneの問題
- 24. WIndows Phone 7.1 SDKとWindows Phone 7.5 SDK
- 25. Windows Phone 7で静的クラスのフィールドにバインドする方法は?
- 26. Windows Phone 7で非同期UDPユニキャストパケットを受信する際の問題
- 27. Unity3D Windows Phone 8(WP8)ビルドでデータベースを使用する際の問題
- 28. Windows Phone 7で実行時にGridviewをデータとバインドする方法は?
- 29. AutoCompleteBoxをWindows Phoneの非静的リストにバインドする方法
- 30. WPFトリガーとバインドの問題
両方のリクエストをまとめて1つのクエリにするには、 'SelectMany'コールを使用していますか? – Enigmativity
いいえ私はSelect Manyを使っていません...私の問題は最初のリクエストの結果であり、それはuiを反映していると思います。それ以降は2番目のreqが来ています。 SpComはOnCompletedで結果を見ることができます。しかし、私はそれを解決しません..私は解決策を探しています.. OnCompletedの値を再割り当てすると一時的に私の問題は解決しますが、それは私が探している修正ではないと思います..あなたは解決するためにこの問題? –