問題タブ [reactiveui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mvvm - データ注釈の決定論的評価順序?
から派生したビューモデルを書いていますReactiveValidatedObject
。これにより、データアノテーションを使用してビューの検証をトリガーできますが、問題が発生しました。検証ルールはランダムな順序で評価されます。
たとえば、プロパティが次のように宣言されている場合(モデルのフィールドは小数であり、メソッドバリデーターdecimal.TryParse
は値が0以上であるかどうかを確認します)。
動作が次のとおりであることを確認する単体テストがあります。
- フィールドが空白の場合、エラーは「必須」である必要があります。
- フィールドに解析されないものがある場合、エラーは「無効」である必要があります。
ときどき、別のファイルで何かを変更し、すべてのテストを実行すると、これは失敗します。プロパティ宣言の属性の順序を入れ替えると、テストが修正されます。
これらの属性が適用される順序を指定する方法はありますか?
c# - ReactiveUI MessageBus と MessageBox と結果
私はプロジェクトで Rx 、より具体的には ReactiveUI をしばらく使用しており、アドバイスが必要だと思う状況に陥っています。
問題は、コマンドが実行された (ボタンがクリックされた) ときに、ユーザーが「はい」または「いいえ」と答えるメッセージ ボックスを表示したいということです。単体テストで MVVM を使用しているため、MessageBox をテスト可能にしたいと考えています。つまり、他のコードに置き換えられます。これは本質的に私が持っているものです。
私のビューモデルでは:
はGuiMsgBox
本質的にクラスのラッパーであり、UI とテストでSystem.Windows.MessageBox
使用してリッスンします。MessageBus
これは、アプリケーションの実行時にはすべて正常に機能しますが、単体テストでは、バスがイミディエイト スケジューラを使用しているため、明らかに同じようには機能しません。
ここには設計上の問題があると思うので、実際の問題についての意見をお寄せください。テスト可能な結果を返すメッセージ ボックスを表示するには、非常にありがたいです!
c# - ViewModelでIObservablesを構造化して文書化します
最近、Rx.NETに関連するUI作業を行っています。特にReactiveUIを使用します。ReactiveUIがViewModelインタラクションの構築に役立つ宣言型の方法が本当に好きです。
ただし、ReactiveUIのロジックのほとんどはコンストラクターに含まれるため、複雑なViewModelの場合、すべてをナビゲートして探しているビットを見つけるのが少し難しくなる可能性があります。また、さまざまな部分を文書化することもできます。するつもりでした。
これらの2つの問題についてどう思いますか?いくつかの観察可能な定義をプライベートメソッドに移動しますか?独自の拡張メソッド(「演算子」)を作成しますか?
これについて他の人の意見を聞くのを楽しみにしています!
system.reactive - ReactiveUI はサブスクリプションをリークしますか?
ブログから ReactiveUi の例を見てきましたが、ReactiveUI が何らかのサブスクリプション管理機能を持っているのか、それともサブスクリプションをリークする可能性があるという事実を無視している例なのか疑問に思っています。
ReactiveUi でメソッドを呼び出して結果が になるときはいつでも、IDisposable
その参照を保持して自分で追跡する必要がありますか? また、これは ViewModel を使い捨てにする必要があることを意味しますか? WPF では、接続された「ビュー」がいつ消えるか (つまり、ViewModel がデータ グリッドのアイテムを反映するか) がわからないため、これは難しいようです。処分する場所。
system.reactive - APIでReactiveCollectionを使用するのは適切ですか?
APIでReactiveCollectionを公開することは適切ですか?具体的には、複数のアプリケーションで内部的に使用されるサービスクラス。しかし、思考実験として、私たちは公の使用でも考慮することができます。
私はRxとReactiveUIを調査してきましたが、これらは強力なツールのようです。しかし、私は彼らとの十分な経験がなく、他の人に彼らに依存することを要求するのが良い考えであるかどうかを判断することができません。
詳細:
接続されたクライアントを追跡する追跡サービスクラスを作成しています。私の見解では、コンシューマーがこのクラスを使用するために必要なのは、接続されたクライアントを公開し、サービスによって管理されるコレクションへの変更を通知する監視可能なコレクション(おそらくReactiveCollection)を公開することだけです。接続されたクライアントを表すエンティティは、INotifyPropertyChangedを利用して、クライアントの状態の更新を通知します。
system.reactive - コレクションの PropertyChanged イベントを 1 つの IObservable に集約する>
INotifyPropertyChanged オブジェクトのコレクションがあり、さらに処理するためにすべての PropertyChanged イベントを単一の監視可能なシーケンスにストリーミングしたいと考えています。
ここにコードがあります
単一のサブスクライブは、集計されたシーケンスで何らかの理由でここでは機能しません。(Reactive Extensions の Merge 関数を使用して) 誤って集計したようです。ただし、ループ内のサブスクライブは完全に機能します。
多くのイベント ストリームをリアクティブな拡張機能を使用して 1 つに集約する方法を教えてください。
ありがとう
wpf - ReativeCommand を取得して最新の CanExecute 値を取得する方法は?
WPF データグリッドにバインドされた ReactiveCollection があります。列の 1 つは checkBox 列です。
WPF フォームには、ReactiveCommand にバインドされたボタンがあります。
私がやろうとしているのは、すべてのチェックボックスがチェックされている場合にのみボタンを有効にすることです。
ReactiveCommand は、インスタンス化されたときにのみ値をチェックするようですが、ReactiveCollection の項目が変更されたときに値を再チェックしないようです。(ReactiveCollection 内のアイテムは ReactiveObjects であるため、すべてが自動的にトリガーされるはずだと想定しました。)
ReactiveCollection の ReactiveObjects への変更に応答するボタンを取得するにはどうすればよいですか?
windows-phone-7 - (RxおよびWindows Phone)を使用したテキストのバインドの問題
私のアプリケーションでは、Webリクエストを行うためにReactive拡張機能を使用しています。私の問題は、2つのリクエストを行っていることです。最初のリクエストでは、サーバーからURLを取得し、そのURLを使用して、画像と説明を取得するための別のリクエストを送信しています。URL以外の最初のリクエストでは、タイトルと日付に関連する情報を取得します。つまり、私が行っているのは、モデルクラスのデータを解析し、そこから他のリクエストを呼び出すことです。ここで応答を受け取ったら、結果を保持できるクラスオブジェクトにそれを追加します。そして、最初のリクエストのcomplete(onnext、error、complete)部分に到達すると、両方の結果がプロパティに表示されます。しかし、問題は、対応する変更、つまり2番目のWebリクエストの結果が私のUIに反映されていないことです。この問題を回避するために誰か助けてください。
c# - ReactiveExtensionsインストールパッケージにReactiveUIライブラリが含まれていません
ReactiveUIを試したいのですが、RxインストールパッケージにReactiveUIが含まれていません。ReactiveUIはスタンドアロンのインストールパッケージに含まれていると思いますが、見つかりませんでした。ReactiveUIがMicrosoftでサポートされているかどうかに関係なく、誰かが情報を共有できますか?はいの場合は、ReactiveUIライブラリへのリンクを教えてください。
前もって感謝します!
UPD:http://www.reactiveui.net/でサンプルアプリケーションを見つけました。ReactiveUI dllが含まれていますが、公式のReactiveUIビルドを取得したいと思います。
reactiveui - ReactiveCollection CollectionChangeEvent をバッチで非同期に処理する
リアクティブ UI を検討しています。オブジェクトが非常に高速で追加されるモデルの ObservableCollection があります。collectionchanged イベントを処理し、各モデルのビューモデルを別の ObservableCollection に追加します。Model リストの CollectionChanged イベントを抑制し、一連のレコードに対して、または指定された時間間隔が経過した後にイベントを発生させることはできますか?