ReactiveProperty の検索結果:
IFilteredReadOnlyObservableCollectionのフィルタ条件をリフレッシュするRefreshメソッドを追加しました。 これで、フィルター条件を途中で変えることができます。 WPFでは無事動いてるのですがUWPとXamarinがちゃんと動くか未知です。というのもRefreshしたあとに要素がある状態というのを許してるかどうかというのがあります。 www.nuget.org
@okazuki ReactiveProperty にはいつも大変お世話になっています。生活必需品です。自分はよく XAML 側の .Value をド忘れするのですが、これをハイライトしてくれる R# プラグインを書いてみました。https://t.co/xd6Nv19rgu— sh4 (@sh4) 2017年2月3日 ガチでありがたいことに、よく頂く要望に対するプラグインを作っていただけました。 残念ながら私は、R#先生を使ってないので試せないですがR#を使ってる方はぜひ試…
Reactive Extensions 3.1.xがPCLにうまく入らないので、.NET Standardにプロジェクトを変換してから入れてください。 何かRx安定しないな…。
お題の通りです。 こんな感じでReactiveCommandを普通に使うと連打すると2重で画面遷移したりします。 using Prism.Mvvm; using Prism.Navigation; using Reactive.Bindings; using System; namespace PrismUnityApp12.ViewModels { public class MainPageViewModel : BindableBase, INavigationAware…
…F)に以下の拡張メソッドを追加しました ObserveDependencyProperty: DependencyPropertyの変更を監視するIObservable<Unit>を返します。 ToReadOnlyReactiveProperty: DependencyPropertyからReadOnlyReactivePropertyを生成します。 ToReactiveProperty: DependencyPropertyからReactivePropertyを生成します。
ReactiveProperty v3.3.1をリリースしました。 www.nuget.org 新機能はありませんが、依存しているライブラリを最新版にあげました。 System.Reactive: v3.0.0 → v3.1.0 UWPのビヘイビア: 1.?.? → 2.0.0 今後ともよろしくお願いします。
先ほどReactiveProperty v3.0.0をリリースしたのですが、PCLから参照できないので困ってます。(Xamarinは.NET Standard化することでお茶を濁してる) 現象としては.NET Standard 1.1のクラスライブラリを作る。 PCL(.net451とwin81をターゲット)から.NET Standard 1.1のライブラリを参照する。 この時点で警告が出ます(警告なのでスルーしても最悪問題ないよね) そして、それらのライブラリを参照する.N…
…3.0.0に対応したReactiveProperty v3.0.0をリリースしました。 新機能はありません! インストールはNuGetからお願いします。 www.nuget.org Windows 8.1とWindows Phone 8.1をサポート対象から外しました。(Windows 8.1では動くんだけどね)Windows 8.1とWindows Phone 8.1で使いたい人はReactiveProperty v2.x系を使用してください。 あと.NET Standar…
…nPhoneのほうはReactiveProperty v3.0でサポート切る予定なのでそもそもあると使えません。 次に、PortableのプロジェクトのNuGetパッケージマネージャーを開いてXamarin.Formsを削除します。 そして、プロジェクトのプロパティを開いてライブラリのTarget .NET Platform Standardのリンクをクリックします。そうするとこんな感じになります。 project.jsonが作られるので、frameworksのnetstan…
…} private ReactiveProperty<bool> ShareSource { get; } = new ReactiveProperty<bool>(true); public AsyncReactiveCommandViewModel() { this.HeavyProcessCommand = new AsyncReactiveCommand(); this.HeavyProcessCommand.Subscribe(async _ => await Ta…
…uki.jp 今回はReactivePropertyの組み込みのエラーチェック機能を使ってやってみます。まず。intしか受け付けないValidationAttributeを作ります。 using System.ComponentModel.DataAnnotations; namespace WpfApplication12 { public class IntAttribute : ValidationAttribute { public IntAttribute(stri…
.NET Standard 1.1としてビルドできたのでNuGetに放流しました。 ただ、nuspec書くのがだるかったのでnetstandard1.1とかのフォルダは切ってませんので、今までと使う側としては何も変わりありません。 www.nuget.org UWPに参照追加するとビルドエラーになる件ですが、以下の定義をproject.jsonのdependenciesに追加することで回避が出来ます。これはどうやるのが正解なんだろうか。 "System.Threading.T…
….org 要注意バージョンです! 私の環境で、.NET Framework 4.6での動作は確認できました。動作しなかったプラットフォームは以下になります。 Xamarin UWP 何故かNuGetで参照追加するだけでコンパイルエラーになります。因みにSystem.Reactiveの参照を追加しただけで、同じことになったのでReactivePropertyの問題ではないと考えています。 この問題が解決するまでは、とりあえずpreで出したいと思います。 だれか追試お願いします!
…eueccさんのプルリクのおかげで、今まで一手間必要だったコンソールアプリやLINQPadでのReactivePropertyの利用が簡単になりました。(今までデフォルトだと例外はいてたのが、例外はかなくなった) あと、Blogにリクエストが来てたReadOnlyReactiveCollectionから要素が削除されるときにDisposeが呼ばれる挙動をカスタマイズできるようにしました。disposeElement引数が追加されてます(デフォルトtrueで今までの挙動と同じ)
Microsoft MVP for Windows Development!今年も無事受賞出来ました。また1年よろしくお願いします。 ReactivePropertyのメンテとUWP関連の情報発信などに力を入れたいと思います!(といいつつ直近2回の登壇予定はWPFだったりする)
www.nuget.org @neueccさんが、またプルリクをくれました。UniRxからポーティングされたクラスが1つ追加されました。 MessageBrokerというRxっぽく使えるMessenger的なクラスになります。 基本的に以下のような使い方になります。 // 購読 MessageBroker.Default.Subscribe<SampleClass>(x => Console.WriteLine(x)); // ToObservableでRxのメソッド使い放題…
www.nuget.org このようなリクエストを受け取ったのでプルリクを投げて頂いて取り込みました。 github.com pdbを含むようにしただけでReactiveProperty本体には特に更新は入っていません。
ソファーで爆睡してて目覚めたらこんなメッセージが ReactivePropertyにどうぞ(とは) https://t.co/49sVKAdyns @okazuki @xin9le— neuecc (@neuecc) 2016年6月6日 WPF限定なのをどうにかしたいと思いつつも、まぁ現実問題プラットフォーム固有処理ですよね…と思いとりあえず.NET4, 4.5, 4.6に組み込まさせていただきました。 以下のNuGetからダウンロード出来ます。 www.nuget.org
ReactivePropertyをインストールすると、地味にコードスニペットもNuGetパッケージ内に入ってます。ただインストールはされないので自分でインストールが必要です。 コードスニペットマネージャーからpackages/ReactiveProperty.2.x.x/Snippet/csharp6フォルダにある以下のファイルをインストールします。csharp5フォルダは、C#5.0向けです。 ReactiveCollection.snippet ReactiveComma…
…; } こうしておくと、ViewModelでは、以下のような引数を定義しておくだけでUIスレッドに紐づいたSchedulerが設定されてきます。 public MainPageViewModel(IScheduler scheduler) { this.Time = new ReactiveProperty<string>(scheduler); こうしておくと、単体テストでISchedulerをTestSchedulerに差し替えたりということが簡単にできるようになります。
…という前提に立ってるReactivePropertyだと、ちょっと嫌な感じになってしまいます。 そんなときは、Appクラスの初期化処理で以下の1行を追加すると、現在のスレッドでイベントが発行されるようになります。 // 余計なスレッド切り替えは自動でしないで ReactivePropertyScheduler.SetDefault(CurrentThreadScheduler.Instance); あとは、ViewModelあたりで明示的にSynchronizationCon…
blog.okazuki.jp 「そのほかにも」という箇所から簡単にですが、ReactivePropertyで追加しているIObservableの拡張メソッドで、紹介していないものを書いてみました。
誰か英語得意な人プルリク頼む! github.com
久しぶりのReactivePropertyネタです。 ReactiveProperty, ReadOnlyReactiveProperty, ReactiveCommand等は、地味にIDisposableを実装しています。 IDisposableを実装しているということは、Disposeをしないといけないということになります。 Disposeしなくてもいいケース ただ、必ずしもDisposeしないとまずいかというとそうでもありません。例えば以下のようなケース。 public…
www.nuget.org ReadOnlyReactiveCollectionが、過負荷のときに処理順番がおかしくなることがあるという報告がきたのでなおしました。
…eady?) as ReactiveProperty が得られると嬉しいですね。理由はこれ→ https://t.co/SjGC0SHtzu です。— あめいスピナーデコ (@amay077) 2016年4月8日 ちょっと機能を追加しました Inverse拡張メソッド boolのIObservableに対して、値を反転するInverse拡張メソッドを追加しました。これでこういう風に処理が書けるようになります。 var b = new BusyNotifier(); var i…
…); public ReactiveProperty<string> Output { get; } = new ReactiveProperty<string>(); public ReactiveCommand ExecuteCommand { get; } public MainWindowViewModel() { this.ExecuteCommand = this.BusyNotifier .Select(x => !x) .ToReactiveCommand()…
… } public ReactiveProperty<string> Output { get; } public MainWindowViewModel() { this.ExecuteCommand = this.ProcessCounter .Select(x => x == CountChangedStatus.Empty) .ToReactiveCommand(); this.Output = this.ExecuteCommand .SelectMany( Obs…
…みようと思います。 ReactivePropertyは? Reactive ExtensionsをベースにしたMVVMの支援ライブラリです。 blog.okazuki.jp Xamarinでも使えるの? Xamarin.AndroidとXamarin.iOSとXamarin.Formsに対応しています!ここでは、Xamarin.Androidでの使い方を紹介したいと思います(Mac持ってない)。因みに、ここで紹介するのと同じ感覚でiOSアプリでも使えるので興味を持った人は試し…
…リリースしました。 ReactivePropertyで使うデフォルトのスケジューラをReactivePropertySchedulerにしました 何もしないと、UIDispatcherSchedulerを使い、ReactivePropertyScheduler.SetDefaultでスケジューラーを明示したときにはそちらを使うようにしました。主にテスト時にスケジューラーを差し替えたり、コンソールアプリケーションのようにSynchronizationContextが無い環境での…