読者です 読者をやめる 読者になる 読者になる

かずきのBlog@hatena

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

ReactiveProperty

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

www.nuget.org BugFixです。 ありがたいことにバグフィックスのPullRequestを頂きました。 github.com github.com 上記PullRequestをマージしたバージョンです。 v2.2.4 バグフィックス FilteredReadOnlyObservableCollectionに削除時のインデックス管理の問…

ReactiveProperty v2.2.3リリースしました

バグフィックスです。 ReadOnlyReactiveCollectionでRemove時にConverterが実行されていた問題を修正 ReactivePropertywww.nuget.org ついでにNuGetでのDL数が8000突破しました。ありがとうございます。

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

FilteredReadOnlyObservableCollectionでインデックスの管理にバグがあったため修正しました。 NuGetからインストールできます。 ReactivePropertywww.nuget.org ついでに更新したところ NuGetのパッケージの記述内容を更新しています。 .NET Framework 4.6…

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

ReactivePropertywww.nuget.org Twitterを眺めてると、ReadOnlyReactivePropertyだと2回処理が走るという問題にぶちあたってる人がいました。 ソースを眺めてお風呂に入ってると閃きました。内部で2回Subscribeしてるので、ものによっては2回処理走るように…

マンツーマンでPrismとReactivePropertyの説明してきました@調布

調布のカフェでマンツーマンでバトルプログラマーさんにPrismとReactivePropertyの説明をざっとしてきました。スライドを公開しておきます。 Prism + ReactiveProperty入門 from 一希 大田 www.slideshare.net メインターゲットはWindows Phone 8.1ね。

購読解除は奥が深い その2

2015/06/23 追記しました 購読解除は奥が深い - かずきのBlog@hatenaokazuki.hatenablog.com で書いてた拡張メソッドって要は1つ前のをDisposeすればいいというだけのことだったので以下のような拡張メソッドを準備すればいいのではないかということをひらめ…

Windows 10のアプリサンプルでTodoアプリのReactiveProperty版書きました

前に書いたTodoアプリをReactiveProperty版も書いてみました。 runceel/uwptodoappgithub.com 上記リポジトリに両方入ってます。

MADOSMAも出たしWindows Phone 8.1のアプリを作ろうぞ #wpjp

MADOSMAも出ました。ついでにおでコンも開催されています。これを機にWindows Phone 8.1のアプリを作ろうと考えている人も多いのではないかと思います。そこで個人的にお勧めするPrism.StoreAppsとReactivePropertyの組み合わせのとっかかりを書いてみようと…

購読解除は奥が深い

ReactivePropertyを使いたい人のための、ReactiveExtensions入門(その3)yone64.wordpress.com よねさんのこの記事を見てもやもやしてたけど、妙案が思いつかないで今にいたる。ということで、こういう拡張メソッドでもReactivePropertyにいれようか悩む。…

ReactivePropertyでViewModelに紐づくModelを差し替えるときのパターン

んー? 変更通知プロパティのメンバを持つModelで、そのメンバがViewModelのReactivePropertyに接続されてて、そのModelのインスタンス自体を差し替えたい時ってどうすればいいんだ・・・?— たき(=゚ω゚)ノ (@taky_xi2) 2015, 6月 20 という呟きを見つけたので…

DataGridで特定の列の値が重複してる行だけ色を変えたい

という問題が出されました。 うんうんと頭をひねった結果こうなりました…ちょっと全ループしてるのがダサい。ReactiveProperty 2.x前提です。 まず、表示するデータ。 using Reactive.Bindings; namespace DupItemColorApp { public class PersonViewModel {…

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

ReactivePropertywww.nuget.org v2.2 破壊的変更 ObserveElementReactiveProperty 拡張メソッドを削除しました。 Add ObserveElementObservableProperty 拡張メソッドを追加しました。 概要 ObserveElementReactivePropertyメソッドが、ReactivePropertyの方…

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

ReactivePropertywww.nuget.org BugFixです。 var c = new ObservableCollection<string>(); var vms = c.ToReadOnlyReactiveCollection(x => VM(x)); c.Add("Hoge"); のようなコードでVMのコンストラクタが5回呼ばれていた(無駄に4回呼んでいた)問題を修正しまし</string>…

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

最近BlogがReactivePropertyのリリース日記になってる感じがありますが…。v2.1.8をリリースしました。 ReactivePropertywww.nuget.org v2.1.8 追加 Helpers名前空間にリアルタイムにコレクションの要素をフィルタリングするコレクション FilteredReadOnlyObs…

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

ReactiveProperty NuGet Gallery | ReactiveProperty 2.1.6 v2.1.6 追加 ObservableCollection と ReadOnlyObservableCollection の要素の ReactiveProperty の変更を監視する ObserveElementReactiveProperty 拡張メソッドを実装しました。 ObservableColle…

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

ReactiveProperty NuGet Gallery | ReactiveProperty 2.1.5 2.1.4はちょんぼをしてしまったので欠番です。はい。 v2.1.5 追加 IEnumerableからReadOnlyReactiveCollectionを作成する拡張メソッドを追加しました。 解説 今までReadOnlyReactiveCollectionはOb…

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

ReactiveProperty v2.1.3 破壊的変更 ObserveElementProperty で値に変更があったインスタンスも通知できるようにしました。 解説 2.1.2で追加したObserveElementPropertyをちょこっと変えました。ごめんなさい。互換性壊しました! そのかわり便利になって…

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

ReactiveProperty NuGet Gallery | ReactiveProperty 2.1.2 v2.1.2 追加 ObservableCollection と ReadOnlyObservableCollection の要素のプロパティ変更を監視する ObserveElementProperty 拡張メソッドを実装しました。 INotifyCollectionChanged に対して…

インターバルと試行回数を指定できるRetryの作り方

Reactive Extensionsには回数指定のリトライか、無限リトライしか用意されてません。世の中には、一定間隔をあけてリトライ処理をしたいという需要もあります。ということで、さくっと試してみました・ static class Ex { public static IObservable<T> RetryEx<T></t></t>…

ReactiveProperty v2.1をリリースしました。

BlogのコメントでReadOnlyReactiveCollectionをReadOnlyObservableCollectionから生成できないのは何故?という意見が来てたので、確かに、と思って追加しました。 ReactiveProperty NuGet Gallery | ReactiveProperty 2.1.0 v2.1.0 追加 ReadOnlyReactiveCo…

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

最近ちまちまといじってた2.0をリリース前パッケージではなく正式版としてリリースしました。 ReactiveProperty NuGet Gallery | ReactiveProperty 2.0.0 リリースノート v2.0 破壊的変更 名前空間が Codeplex.Reactive から Reactive.Bindings に変わりまし…

ストアアプリでListViewに左右のスワイプ処理を追加するという記事が面白かったのでReactivePropertyを使って書いてみた

元ネタ めとべや東京 #7で登壇してきましたその1 ストアアプリでListViewに左右のスワイプ処理を追加する - shinji-japanのブログ めとべや東京 #7で登壇してきましたその1 ストアアプリでListViewに左右のスワイプ処理を追加する - shinji-japanのブログ 面…

MVVMとリアクティブプログラミングを支援するライブラリ「ReactiveProperty v2.0」オーバービュー

最新記事はこちらになります。 blog.okazuki.jp ReactivePropertyとは ReactivePropertyとは、ReactiveProperty<T>クラスを中心とした、MVVMパターンでのリアクティブプログラミングを強力にサポートするライブラリです。 導入方法 NuGetからインストールできま</t>…

ReactiveProperty 2.0.0-pre4をリリースしました

ReactiveProperty NuGet Gallery | ReactiveProperty 2.0.0-pre4 さっきpre3リリースしましたが、バージョンアップです。 メソッド名の変更 先ほど追加したEventToReactiveCommand用のReactiveConverterとDelegateConverterクラスのConvertメソッド名をConve…

ReactiveProperty v2.0.0-pre3をリリースしました

ReactiveProperty NuGet Gallery | ReactiveProperty 2.0.0-pre3 今回は以下の変更を含んでます。 CountNotifyerのINotifyPropertyChangedの実装 CountNotifyerクラスがINotifyPropertyChangedインターフェースを実装してCountプロパティの変更通知を受け取…

めとべや東京 #7 でReactivePropertyのLTしてきました

ReactivePropertyの紹介してきました!! 資料公開しておきます。

MVVM系フレームワークとReactivePropertyの組み合わせのサンプルプログラムを書きました

以下の3つのMVVMライブラリと Livet MVVM Light toolkit Prism ReactiveProperty(v2系使ってます)のサンプルをコードレシピに書きました。どれも、ほぼ同じ挙動をするサンプルなので比較用にでもどうぞ。 MVVMパターンのシンプルなサンプル(Livet + Reactiv…

ReactiveProperty v2.0.0-pre1をリリースしました

ReactiveProperty NuGet Gallery | ReactiveProperty 2.0.0-pre1 変更箇所 名前空間をCodeplex.ReactiveからReactive.Bindingsに変更しました。今後は、この名前空間を使っていきます。 Xamarin.Android向けのデータバインディング機能を追加 名前空間の変更…

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

先日書いた記事で、めんどくさいと思ってた部分を簡単にかけるようにしました。 MVVMでめんどくさいと思ってる部分を、個人的にどうやって緩和してるか - かずきのBlog@hatena MVVMでめんどくさいと思ってる部分を、個人的にどうやって緩和してるか - かずき…

MVVMでめんどくさいと思ってる部分を、個人的にどうやって緩和してるか

MVVMのめんどくさいと感じてるところ (adsbygoogle = window.adsbygoogle || []).push({}); ModelとViewModelのクラスのマッピング MVVMでアプリ組んでるとModelとViewModelで似た構造のクラスを作って、値の移し替えを行うことがあります。AutoMapperとか使…

Xamarin.AndroidでReactivePropertyを楽に使うためのReactiveProperty.XamarinAndroidのサンプルをコードレシピに公開しました。

A simple master detail application with ReactiveProperty. in C# for Visual Studio 2013 A simple master detail application with ReactiveProperty. in C# for Visual Studio 2013 これくらいでいけるなら、個人的には許容範囲かもってお思えるものが…

Xamarin.AndroidでReactivePropertyを使いやすくするライブラリを試作してみた

とりあえず。 以下のようなVMがあったとして using Codeplex.Reactive; using System; using System.Reactive.Linq; namespace App15 { public class MainPageViewModel { public ReactiveProperty<string> Input { get; private set; } public ReactiveProperty<string> Out</string></string>…

ReactivePropertyの便利なINotifyPropertyChangedとINotifyCollectionChangedを監視する拡張メソッド

ReactivePropertyは、XAMLで使うのがしっくりきますが、Codeplex.Reactive.Extensions名前空間には、それ以外にも使える便利なメソッドが詰まってます。その中でも汎用的なINotifyPropertyChangedとINotifyCollectionChangedを監視するメソッドを紹介します…

ReactiveProperty v1.1.2をリリースしました

人生初のGitHubでのPullRequestが来たので取り込みました。まぁ、これはコードとかプロジェクトの依存関係がクリーンになったので大歓迎でした。 本命は、以下の通りです。 XamarinのPCLに追加できるようにしました。 今までは、Xamarin.FormsでPCL作った時…

Xamarin.Android + ReactivePropertyでListViewを使う

特にReactivePropertyでサポートはしてないので自前でやるっきゃないです!ということでこういうクラスを書いてみました。 ReadOnlyReactiveCollection型をIListAdapterに変換するコードです。 public static class ReadOnlyCollectionExtensions { /// <summary> ///</summary>…

ReactivePropertyのコレクション

正直自分しか使ってないんじゃないかというReadOnlyReactiveCollectionのサンプルをのっけました。 ReactivePropertyのコレクション in C# for Visual Studio 2013

ReactivePropertyを持つVMのコレクションをWindowsFormsのDataGridViewに表示する

遊びです。本気ではないので気を付けてください。 xin9leさんとチャットしながら作っててこんな拡張メソッドを用意しておけば。 public static class DataGridViewBindingExtensions { public static void BindTo<TCollectionItem>( this IEnumerable<TCollectionItem> self, DataGridView dgv,</tcollectionitem></tcollectionitem>…

ユニバーサルWindowsアプリでPrismとReactivePropetyを使った状態で中断処理へ対応する

Json.NET使えば意外と簡単にできました。Json.NET偉大。 ユニバーサルWindowsアプリでPrismとReactivePropetyを使った状態で中断処理へ対応する in C# for Visual Studio 2013

ReactiveProperty v1.1リリースしました

runceel/ReactiveProperty · GitHub 今回はちょっと変更してます。 v1.0.xで追加した以下のプロパティを消しました。 ObserveErrors ObserveHasNoError かわりに以下の変更・追加が行われています。 ObserveErrorChangedプロパティの動作変更 Subscribeした…

SettingsFlyoutをViewModelから制御したい

SettingsFlyoutをViewModelから表示したいときにつかえるBehaviorのサンプルをコードレシピにアップしました。 MVVMパターンでSettingsFlyoutを出す in C# for Visual Studio 2013

FlyoutをMVVMのViewModelから制御したい

ということありますよね? そういう時に便利なBehaviorのコードサンプルをアップしました。 MVVMパターンでFlyoutを出すのに便利なBehavior in C#, XAML for Visual Studio 2013

Windows FormsでもReactiveProperty(同じ要領でXamarinでも使えます)

いやまさか、この年になってWindows Formsのコード書くことになるとは思わなかった…。 本当はXamarinでサンプル書きたかったんですが、Xamarinのライセンスが切れててダメだったので泣く泣くWindows Formsにしました。コードは以下から参照できます。 Window…

ReactivePropertyとPrismでOData読み込み・更新のサンプル

コードレシピ日和ですね。ということで、アップしました。 ReactivePropertyとPrismでOData読み込み・更新のサンプル in C# for Visual Studio 2013

ReactivePropertyのEventToReactiveのサンプル

表題のものをコードレシピにあげました。 ReactivePropertyのEventToReactiveクラス in C#, XAML for Visual Studio 2013

ReactivePropertyのNotifier系クラスのサンプルを書きました

コードレシピにアップしてます。 ReactivePropertyのNotifier系クラス in C# for Visual Studio 2013

ReactiveProperty v1.0.3.0をリリースしました

今回は、ReactiveProperty本体にエラー通知関係のプロパティを追加しました。 NuGetからインストールしてください。 PM > Install-Package ReactiveProperty ObserveErrors ReactivePropertyで発生した検証エラーを通知します。Subscribeすると、最初に現在…

ユニバーサルWindowsアプリのPrism for Windows RuntimeとReactivePropertyで計算機サンプル

今日も今日とてコードレシピにコードをアップしました。 ユニバーサルWindowsアプリのPrism for Windows RuntimeとReactivePropertyで計算機サンプル in C# for Visual Studio 2013

ReactiveProperty 1.0.2.2をリリースしました

新機能 ありません。 何が変わったの ProjectSiteをGitHubにしました。 LICENSEをMIT Licenseに変更しました。 インストール方法 NuGetからさくっと入れてください。 PM > Install-Package ReactiveProperty 参考 runceel/ReactiveProperty · GitHub NuGet G…

ReactivePropertyをCodePlexからGitHubに引っ越ししました

長い間お世話になったCodePlexからGitHubにお引越ししました。 新しいページはこちら。 runceel/ReactiveProperty · GitHub ちなみにReadmeを日本語化したものも用意しておきました。 ReactiveProperty/README-ja.md at master · runceel/ReactiveProperty ·…

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

間にv1.0.1も挟んでますが、こんな感じの変更をしています。 ReadOnlyReactiveCollectionの生成を簡略化 ObservableCollectionからReadOnlyReactiveCollectionを作ろうと思うと今まで以下のようなコードが必要でした。 var models = new ObservableCollection<Model></model>…