かずきのBlog@hatena

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

ReactiveProperty

空の IObservable からの ReactiveProperty と ReactiveCommand の生成

先日、こんな質問を頂きました。 @okazuki かずきさん、相談に乗ってください。以下のコードを実行してみたところ、初回起動時においては、TestCommandが実行可能になってしまいます。46行目の★だと、正しく実行不可な状態で立ち上がってきます。何が理由か…

ReactiveProperty v6.2.0 をリリースしました

ReactiveProperty の DataAnnotations によるバリデーションのエラーメッセージの改善をしました。 今まで 以下のような定義のプロパティで [Required(ErrorMessage = "{0} は必須入力項目です。")] public ReactiveProperty<string> Name { get; } というようなアノ</string>…

ReactiveProperty v6.1.4 をリリースしました

各種ライブラリの更新と Pull Request の取り込みになります。 大きな変更はありません。 System.Reactive を 4.2.0 に更新しました Microsoft.Xaml.Behaviors.Wpf を 1.1.3 に更新しました IReactiveProperty を IReadOnlyReactiveProperty を継承するよう…

ReactiveProperty v6.1 をリリースしました

プルリクエストをマージしてリリースするだけの簡単なお仕事。 詳細は GitHub のリリースページから! Release v6.1.2 · runceel/ReactiveProperty · GitHub プルリクエストや Issue への投稿いつもありがとうございます。多謝!

ReactiveProperty v6.0.2 をリリースしました

しました。 Release v6.0.2 · runceel/ReactiveProperty · GitHub メジャーバージョンが上がってます ということで、1 つ破壊的変更があります。 これまで WPF では EventToReactiveCommand と EventToReactiveProperty を使うのに Blend SDK のアセンブリの…

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

AsyncReactiveCommand の機能改善です。 具体的には以下のブログ記事の「もっと複雑なケース」への対応になります。 blog.okazuki.jp インストールはいつも通り NuGet から! www.nuget.org

ReactiveProperty で二度押し防止 2019 年 6 月版

改版履歴 ReactiveProperty v5.6.0 に合わせてアップデート 本文 ということで書いていきましょう。 といっても二度押し防止系は AsyncReactiveCommand 使うと楽。以上です。 例えば非同期処理が終わるまで押せないボタンを実現したい場合は以下のような Vie…

ReactivePropertyのドキュメントを追加しました

コードスニペットを追加するドキュメントと(手動追加してねって案内) okazuki.jp Prism と ReactiveProperty を使う方法(WPF) okazuki.jp

ReactiveProperty v5.5.1 をリリースしました

v5.5.1 をリリースしました。 v5.5.0 は欠番というか、依存ライブラリーのバージョン上げするの忘れてたので隠しました。 更新内容 この問題に対応しました。まぁ確かにレアケースで、こんな使い方をすることは無いとは思うのですが念のため。 github.com あ…

MVVM でイベント引数の値を ViewModel のコマンドに渡す方法

こちらを見て、そういえばさらっと書いてるだけだったなぁと思ったので…。 elf-mission.net イベント引数を ViewModel で使いたい マウス系イベントや選択系イベントは、イベント引数にしか入ってない値とかもあったりして使いたくなりますよね。 まぁ、イベ…

ReactiveProperty v5.4.0 をリリースしました

機能的には変わってません。 System.Reactive を 4.1.3 にしました 余分な依存関係が定義されていたものを削除しました。dll の量が減ると思います。 SetValidateAttribute メソッドで無駄に例外処理を使っていたのが改善されています。 GitHub のリリースノ…

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

System.Reactive のバージョン上げました。 あと、不要な依存関係があったのを削除したのと、ドキュメントコメントが全部の public メソッドに追加されてます。 詳しいことは GitHub のリリースに書いています。 Release v5.3.1 · runceel/ReactiveProperty …

ReactiveProperty v5.3.0 をリリースしました

といっても Pull Request をマージしてパッケージングして nuget.org にあげただけです。 そろそろ Release ブランチにでも push したら自動でパッケージ公開されるようにしようかなぁ…。 NuGet のページはこちら。 www.nuget.org リリースのページはこちら。…

Reactive Extensions とか知らない人向けの ReactiveProperty のはじめかた その 2

blog.okazuki.jp はじめに 最初の記事を受けて使い始めてきた人向けのちょっと Rx っぽい使い方を紹介します。 ReactiveProperty 値を加工して代入しているケース ReactiveProperty に値を代入するケースがあると思います。例えば以下のような感じですね。 p…

ReactiveProperty v5.1.1 をリリースしました

v5.1.0 は nuspec の定義間違えたので取り下げました。 機能としては、初期状態でバリデーションロジックが必ず実行されて INotifyDataErrorInfo インターフェースに対応している人たちから見るとエラーがある!っていう状態になっていたので、最初はバリデ…

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

一週間くらい前に公開された System.Reactive 4.0.0 に対応しました。 System.Reactive 4.0.0 が .NET Standard 2.0 になったので、それに合わせて ReactveProperty も .NET Standard 1.3 から 2.0 になりました。なので、.NET Framework だと 4.6.1 以降、U…

ReactiveProperty v4.2.2 をリリースしました

シリアライズの関係で ReactivePropertySlim クラスの Mode プロパティを public にしました。 更新は、いつも通り NuGet からどうぞ。 www.nuget.org

Reactive Extensions とか知らない人向け ReactiveProperty のはじめの使い方

ReactiveProperty は MVVM + Rx でプログラム組むときにいい感じにしてくれるものですが MVVM だけでも大変なのに Rx なんて魔法みたいなものを覚えないといけないなんて…!!ということで学習コストが高いので導入をためらうことがあると思います。 当然、…

ReactiveProperty v4.2.1 をリリースしました

Xamarin.Android 関連で提供してた機能を ReactivePropertySlim/ReadOnlyReactiveSlim に対応するための Pull Request をもらってマージしてたのでリリースしました。 github.com NuGet からインストールして使ってください。 www.nuget.org

ReactiveProperty v4.2.0 をリリースしました

github.com ReactiveProperty と ReadOnlyReactiveProperty に IEqualityComparer で値の比較条件を指定できるようにしました。 @soi013 さんプルリクありがとうございます。 導入はいつも通り nuget から! www.nuget.org

ReactiveProperty v4.1.0 をリリースしました

昨夜 id:neuecc さんがプルリクくれたので取り込みました。 github.com www.nuget.org 追加機能 便利ではあるのですが、たまに不便な ReactiveProperty / ReadOnlyReactiveProperty が勝手に UI Thread にイベントをディスパッチする機能があります。これは…

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

Reactive Extensions の v4.0.0 が出るまで待とうと思ってたのですが、一向に出る気配がないので Reactive Extensions のバージョンは v3.1.1 のままですが ReactiveProperty v4.0.0 をリリースしました。 Reactive Extensions の v4.0.0 がリリースされたら…

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>…