かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

ReactiveProperty

ReactiveProperty v3.3.1をリリースしました

ReactiveProperty v3.3.1をリリースしました。 www.nuget.org 新機能はありませんが、依存しているライブラリを最新版にあげました。 System.Reactive: v3.0.0 → v3.1.0 UWPのビヘイビア: 1.?.? → 2.0.0 今後ともよろしくお願いします。

ReactiveProperty v3.0.0をリリースしました

Reactive Extensions 3.0.0に対応したReactiveProperty v3.0.0をリリースしました。 新機能はありません! インストールはNuGetからお願いします。 www.nuget.org Windows 8.1とWindows Phone 8.1をサポート対象から外しました。(Windows 8.1では動くんだけ…

Visual Studio上のXamarin.FormsでReactiveProperty v3.0を使う方法

Rx 3.0対応しているRP 3.0ですが、まだpreリリースです。何故なら、Xamarin.Androidで参照追加するとコンパイルエラーになるから…! ということで、とりあえず使い方を試行錯誤しながら書いていこうと思います。 まず、プロジェクトを作ります。作ったら以下…

ReactiveProperty v2.9.0とv3.0.0-pre5をリリースしました。

id:neueccさんがプルリクをくれました。最近多いですね! www.nuget.org 今回追加された機能は、AsyncReactiveCommandクラスになります。Subscribeメソッドが非同期メソッドを受け取って、その非同期メソッドが実行中の間は自動的にCanExecuteをFalseにして…

WPFでTextBoxに入力エラーがないときだけ押せるボタンを実現したい

1つ前でVMでやるのがおすすめですよって書いたけどどうやるの?っていう記事です。 blog.okazuki.jp 今回はReactivePropertyの組み込みのエラーチェック機能を使ってやってみます。まず。intしか受け付けないValidationAttributeを作ります。 using System.C…

ReactiveProperty v3.0.0-pre2をリリースしました

.NET Standard 1.1としてビルドできたのでNuGetに放流しました。 ただ、nuspec書くのがだるかったのでnetstandard1.1とかのフォルダは切ってませんので、今までと使う側としては何も変わりありません。 www.nuget.org UWPに参照追加するとビルドエラーになる…

ReactiveProperty v3.0.0-pre1を放流しました

Reactive Extensions 3.0対応です。 www.nuget.org 要注意バージョンです! 私の環境で、.NET Framework 4.6での動作は確認できました。動作しなかったプラットフォームは以下になります。 Xamarin UWP 何故かNuGetで参照追加するだけでコンパイルエラーにな…

ReactiveProperty v2.8をリリースしました

リリースしました。 www.nuget.org id:neueccさんのプルリクのおかげで、今まで一手間必要だったコンソールアプリやLINQPadでのReactivePropertyの利用が簡単になりました。(今までデフォルトだと例外はいてたのが、例外はかなくなった) あと、Blogにリク…

ReactiveProperty v2.7.4をリリースしました

www.nuget.org @neueccさんが、またプルリクをくれました。UniRxからポーティングされたクラスが1つ追加されました。 MessageBrokerというRxっぽく使えるMessenger的なクラスになります。 基本的に以下のような使い方になります。 // 購読 MessageBroker.Def…

ReactiveProperty v2.7.3.1をリリースしました

www.nuget.org このようなリクエストを受け取ったのでプルリクを投げて頂いて取り込みました。 github.com pdbを含むようにしただけでReactiveProperty本体には特に更新は入っていません。

ReactiveProperty v2.7.3をリリースしました

ソファーで爆睡してて目覚めたらこんなメッセージが ReactivePropertyにどうぞ(とは) https://t.co/49sVKAdyns @okazuki @xin9le— neuecc (@neuecc) 2016年6月6日 WPF限定なのをどうにかしたいと思いつつも、まぁ現実問題プラットフォーム固有処理ですよね……

ReactivePropertyのコードスニペット

ReactivePropertyをインストールすると、地味にコードスニペットもNuGetパッケージ内に入ってます。ただインストールはされないので自分でインストールが必要です。 コードスニペットマネージャーからpackages/ReactiveProperty.2.x.x/Snippet/csharp6フォル…

ReactivePropertyで自動でUIスレッドにイベント発行を変えるのを抑止する その2

blog.okazuki.jp 上記記事では、ViewModelの中でSynchronizationContextSchedulerを作成していましたが、これだと単体テストが辛いということになります。これをいい感じにするには、ちょっと工夫がいるのですが…。例えばPrism.Unityを使うと以下のようにVie…

ReactivePropertyで自動でUIスレッドにイベント発行を変えるのを抑止する

普通はいいんですが、UWPとかでマルチウィンドウとか、共有コントラクトとか使うとUIスレッドが複数生成されて、UIスレッドが1つという前提に立ってるReactivePropertyだと、ちょっと嫌な感じになってしまいます。 そんなときは、Appクラスの初期化処理で以…

ReactivePropertyオーバービューを更新しました。

blog.okazuki.jp 「そのほかにも」という箇所から簡単にですが、ReactivePropertyで追加しているIObservableの拡張メソッドで、紹介していないものを書いてみました。

ReactivePropertyの英語ドキュメントを更新しました

誰か英語得意な人プルリク頼む! github.com

ReactivePropertyの後始末

久しぶりのReactivePropertyネタです。 ReactiveProperty, ReadOnlyReactiveProperty, ReactiveCommand等は、地味にIDisposableを実装しています。 IDisposableを実装しているということは、Disposeをしないといけないということになります。 Disposeしなく…

ReactiveProperty v2.7.2をリリースしてました

www.nuget.org ReadOnlyReactiveCollectionが、過負荷のときに処理順番がおかしくなることがあるという報告がきたのでなおしました。

ReactiveProperty v2.7.1をリリースしました

www.nuget.org こんな意見をいただいたので @okazuki BusyNotifier から IsNotBusy(IsReady?) as ReactiveProperty が得られると嬉しいですね。理由はこれ→ https://t.co/SjGC0SHtzu です。— あめいスピナーデコ (@amay077) 2016年4月8日 ちょっと機能を追加…

ReactivePropertyで2度押し防止/ReactiveProperty v2.7.0をリリースしました

2度押し防止のための機能を追加しました。 www.nuget.org 名前はBusyNotifierです。 こんな感じで使います。 public class MainWindowViewModel { private BusyNotifier BusyNotifier { get; } = new BusyNotifier(); public ReactiveProperty<string> Output { get;</string>…

ReactivePropertyで2度押し防止

tamafuyou.hatenablog.com qiita.com CountNotifierを使うケースで。CountNotifierは、カウントを数えるものですが、Emptyの時だけというようにSelectかましてToReactiveCommandすると、多重実行防止にも使えます。こんな感じで。 public class MainWindowVi…

XamarinのAndroidアプリでReactivePropertyを使う 2016年版

随分昔に書いてますね。 blog.okazuki.jp 最近は事情も変わったので改めて書いてみようと思います。 ReactivePropertyは? Reactive ExtensionsをベースにしたMVVMの支援ライブラリです。 blog.okazuki.jp Xamarinでも使えるの? Xamarin.AndroidとXamarin.i…

ReactiveProperty v2.6.0をリリースしました

www.nuget.org さくっとリリースしました。 ReactivePropertyで使うデフォルトのスケジューラをReactivePropertySchedulerにしました 何もしないと、UIDispatcherSchedulerを使い、ReactivePropertyScheduler.SetDefaultでスケジューラーを明示したときには…

ReactiveProperty v2.6-beta1をリリースしました

ということで、リリースしました。 www.nuget.org -Preつけてインストールしてください。 変更点 今までReactivePropertyではSchedulerを指定しない場合はUIDispatcherScheduler.Defaultで取得できるSchedulerを使用していました。今回のアップデートでReact…

ReactiveProperty v2.5をリリースしました

www.nuget.org バリデーションを強制的に再評価するForceValidateメソッドと、強制的に外部に変更通知を発行するForceNotifyメソッドを追加しました。

ReactiveProperty v2.4.2をリリースしました

www.nuget.org ToReactivePropertyAsSynchronizedで、ignoreValidationErrorValueが無視されてたという報告を受けたので修正しました。 多分C#6への置き換えのときにチョンボしたと思われます…。

ReactiveProperty v2.4.1をリリースしました

www.nuget.org クリスマスリリース!というわけでもなく、バグっぽい挙動の報告がきたのでなおしました。はい。 v2.4.1 バグフィックス ReadOnlyReactiveCollectionでDispose時にコレクションの要素のDisposeが呼ばれないケースがある問題に対応

ReactiveProperty v2.4.0-pre1を放流しました

www.nuget.org ReactiveProperty v2.4.0-pre1をNuGetに放流しました。 今回は、Xamarin.iOSのUIViewに対してSetBindingメソッドを使えるようにしたりしました。Xamarin.Androidにしか今までなかった機能をポーティングした感じです。が…、手元にiOSとMacがな…

MVVMをリアクティブプログラミングで快適にReactivePropertyオーバービュー

MVVM + リアクティブプログラミングの組み合わせを快適にするためのライブラリのReactiveProperty解説記事です。 github.com 以下のNuGetから入手できます。 www.nuget.org ReactivePropertyの特徴 ReactivePropertyは、MVVM + Rxを支援するための機能を有し…

ReactiveProperty v2.3をリリースしました

ReactivePropertyのv2.3をリリースしました。 今回の目玉は、パフォーマンスの改善です。 今までコンストラクタで色々やっていた関係で初期化が重いと一部で有名?でしたが、今回はコンストラクタを単純化したため軽くなってるはずです。100000回の初期化で4…