かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

ReactiveProperty

ReactiveProperty v4系をXamarin.Formsで使う方法

Reactive Extensions 3系は正直Xamarinで使うのは辛かった。なんかパッケージ追加しただけで動かなくなるし。 Reactive Extensions 4系は、そんなことがない!素敵!! ということでReactive Extensions 4系に依存しているReactiveProperty 4系もXamarin.For…

ReactiveProperty v4.0.0 プレリリース版をリリースしました

表題の通りReactiveProperty v4.0.0のプレリリース版を公開しました。NuGetのページは以下になります。 www.nuget.org 主な変更点は以下の通りです。 更新 System.Reactive v4.0.0-preview00001 に更新 変更 ReactiveProperty の internal なコンストラクタ…

ReactiveProperty 3.6.0をリリースしました

昨日の夜にやろうと思ったんですが今日になってしまいました。 www.nuget.org 今回は、iOS向けのSetBindingメソッドが正しく動いてなかった奴の修正と、ReactiveCommandとAsyncReactiveCommandクラスのSubscribeメソッドに引数無し版を追加しました。どちら…

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

IFilteredReadOnlyObservableCollectionのフィルタ条件をリフレッシュするRefreshメソッドを追加しました。 これで、フィルター条件を途中で変えることができます。 WPFでは無事動いてるのですがUWPとXamarinがちゃんと動くか未知です。というのもRefreshし…

ReactivePropertyでXAMLで.Valueのつけ忘れを教えてくれるReSharperプラグイン

@okazuki ReactiveProperty にはいつも大変お世話になっています。生活必需品です。自分はよく XAML 側の .Value をド忘れするのですが、これをハイライトしてくれる R# プラグインを書いてみました。https://t.co/xd6Nv19rgu— sh4 (@sh4) 2017年2月3日 ガチ…

ReactiveProperty 3.4.0をXamarinで使う場合

Reactive Extensions 3.1.xがPCLにうまく入らないので、.NET Standardにプロジェクトを変換してから入れてください。 何かRx安定しないな…。

Xamarin.Formsでボタンの2度押しをReactivePropertyを使って抑止してみよう

お題の通りです。 こんな感じでReactiveCommandを普通に使うと連打すると2重で画面遷移したりします。 using Prism.Mvvm; using Prism.Navigation; using Reactive.Bindings; using System; namespace PrismUnityApp12.ViewModels { public class MainPageVi…

ReactiveProperty 3.4.0をリリースしました

www.nuget.org Reactive Extensionsを3.1.0から3.1.1に更新しています。 DependencyObject(UWP & WPF)に以下の拡張メソッドを追加しました ObserveDependencyProperty: DependencyPropertyの変更を監視するIObservable<Unit>を返します。 ToReadOnlyReactiveProper</unit>…

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…