かずきのBlog@hatena

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

ReactiveProperty の検索結果:

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

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

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

@okazuki ReactiveProperty にはいつも大変お世話になっています。生活必需品です。自分はよく XAML 側の .Value をド忘れするのですが、これをハイライトしてくれる R# プラグインを書いてみました。https://t.co/xd6Nv19rgu— sh4 (@sh4) 2017年2月3日 ガチでありがたいことに、よく頂く要望に対するプラグインを作っていただけました。 残念ながら私は、R#先生を使ってないので試せないですがR#を使ってる方はぜひ試…

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 MainPageViewModel : BindableBase, INavigationAware…

ReactiveProperty 3.4.0をリリースしました

…F)に以下の拡張メソッドを追加しました ObserveDependencyProperty: DependencyPropertyの変更を監視するIObservable<Unit>を返します。 ToReadOnlyReactiveProperty: DependencyPropertyからReadOnlyReactivePropertyを生成します。 ToReactiveProperty: DependencyPropertyから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 今後ともよろしくお願いします。

.NET Standard 1.1のプロジェクトをPCL(.NET Standard 1.2相当)から参照すると警告が出てDLLが生成されない?

先ほどReactiveProperty v3.0.0をリリースしたのですが、PCLから参照できないので困ってます。(Xamarinは.NET Standard化することでお茶を濁してる) 現象としては.NET Standard 1.1のクラスライブラリを作る。 PCL(.net451とwin81をターゲット)から.NET Standard 1.1のライブラリを参照する。 この時点で警告が出ます(警告なのでスルーしても最悪問題ないよね) そして、それらのライブラリを参照する.N…

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

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

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

…nPhoneのほうはReactiveProperty v3.0でサポート切る予定なのでそもそもあると使えません。 次に、PortableのプロジェクトのNuGetパッケージマネージャーを開いてXamarin.Formsを削除します。 そして、プロジェクトのプロパティを開いてライブラリのTarget .NET Platform Standardのリンクをクリックします。そうするとこんな感じになります。 project.jsonが作られるので、frameworksのnetstan…

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

…} private ReactiveProperty<bool> ShareSource { get; } = new ReactiveProperty<bool>(true); public AsyncReactiveCommandViewModel() { this.HeavyProcessCommand = new AsyncReactiveCommand(); this.HeavyProcessCommand.Subscribe(async _ => await Ta…

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

…uki.jp 今回はReactivePropertyの組み込みのエラーチェック機能を使ってやってみます。まず。intしか受け付けないValidationAttributeを作ります。 using System.ComponentModel.DataAnnotations; namespace WpfApplication12 { public class IntAttribute : ValidationAttribute { public IntAttribute(stri…

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

.NET Standard 1.1としてビルドできたのでNuGetに放流しました。 ただ、nuspec書くのがだるかったのでnetstandard1.1とかのフォルダは切ってませんので、今までと使う側としては何も変わりありません。 www.nuget.org UWPに参照追加するとビルドエラーになる件ですが、以下の定義をproject.jsonのdependenciesに追加することで回避が出来ます。これはどうやるのが正解なんだろうか。 "System.Threading.T…

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

….org 要注意バージョンです! 私の環境で、.NET Framework 4.6での動作は確認できました。動作しなかったプラットフォームは以下になります。 Xamarin UWP 何故かNuGetで参照追加するだけでコンパイルエラーになります。因みにSystem.Reactiveの参照を追加しただけで、同じことになったのでReactivePropertyの問題ではないと考えています。 この問題が解決するまでは、とりあえずpreで出したいと思います。 だれか追試お願いします!

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

…eueccさんのプルリクのおかげで、今まで一手間必要だったコンソールアプリやLINQPadでのReactivePropertyの利用が簡単になりました。(今までデフォルトだと例外はいてたのが、例外はかなくなった) あと、Blogにリクエストが来てたReadOnlyReactiveCollectionから要素が削除されるときにDisposeが呼ばれる挙動をカスタマイズできるようにしました。disposeElement引数が追加されてます(デフォルトtrueで今までの挙動と同じ)

Microsoft MVP for Windows Developmentを今年も受賞できました

Microsoft MVP for Windows Development!今年も無事受賞出来ました。また1年よろしくお願いします。 ReactivePropertyのメンテとUWP関連の情報発信などに力を入れたいと思います!(といいつつ直近2回の登壇予定はWPFだったりする)

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

www.nuget.org @neueccさんが、またプルリクをくれました。UniRxからポーティングされたクラスが1つ追加されました。 MessageBrokerというRxっぽく使えるMessenger的なクラスになります。 基本的に以下のような使い方になります。 // 購読 MessageBroker.Default.Subscribe<SampleClass>(x => Console.WriteLine(x)); // ToObservableでRxのメソッド使い放題…

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限定なのをどうにかしたいと思いつつも、まぁ現実問題プラットフォーム固有処理ですよね…と思いとりあえず.NET4, 4.5, 4.6に組み込まさせていただきました。 以下のNuGetからダウンロード出来ます。 www.nuget.org

ReactivePropertyのコードスニペット

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

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

…; } こうしておくと、ViewModelでは、以下のような引数を定義しておくだけでUIスレッドに紐づいたSchedulerが設定されてきます。 public MainPageViewModel(IScheduler scheduler) { this.Time = new ReactiveProperty<string>(scheduler); こうしておくと、単体テストでISchedulerをTestSchedulerに差し替えたりということが簡単にできるようになります。

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

…という前提に立ってるReactivePropertyだと、ちょっと嫌な感じになってしまいます。 そんなときは、Appクラスの初期化処理で以下の1行を追加すると、現在のスレッドでイベントが発行されるようになります。 // 余計なスレッド切り替えは自動でしないで ReactivePropertyScheduler.SetDefault(CurrentThreadScheduler.Instance); あとは、ViewModelあたりで明示的にSynchronizationCon…

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

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

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

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

ReactivePropertyの後始末

久しぶりのReactivePropertyネタです。 ReactiveProperty, ReadOnlyReactiveProperty, ReactiveCommand等は、地味にIDisposableを実装しています。 IDisposableを実装しているということは、Disposeをしないといけないということになります。 Disposeしなくてもいいケース ただ、必ずしもDisposeしないとまずいかというとそうでもありません。例えば以下のようなケース。 public…

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

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

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

…eady?) as ReactiveProperty が得られると嬉しいですね。理由はこれ→ https://t.co/SjGC0SHtzu です。— あめいスピナーデコ (@amay077) 2016年4月8日 ちょっと機能を追加しました Inverse拡張メソッド boolのIObservableに対して、値を反転するInverse拡張メソッドを追加しました。これでこういう風に処理が書けるようになります。 var b = new BusyNotifier(); var i…

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

…); public ReactiveProperty<string> Output { get; } = new ReactiveProperty<string>(); public ReactiveCommand ExecuteCommand { get; } public MainWindowViewModel() { this.ExecuteCommand = this.BusyNotifier .Select(x => !x) .ToReactiveCommand()…

ReactivePropertyで2度押し防止

… } public ReactiveProperty<string> Output { get; } public MainWindowViewModel() { this.ExecuteCommand = this.ProcessCounter .Select(x => x == CountChangedStatus.Empty) .ToReactiveCommand(); this.Output = this.ExecuteCommand .SelectMany( Obs…

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

…みようと思います。 ReactivePropertyは? Reactive ExtensionsをベースにしたMVVMの支援ライブラリです。 blog.okazuki.jp Xamarinでも使えるの? Xamarin.AndroidとXamarin.iOSとXamarin.Formsに対応しています!ここでは、Xamarin.Androidでの使い方を紹介したいと思います(Mac持ってない)。因みに、ここで紹介するのと同じ感覚でiOSアプリでも使えるので興味を持った人は試し…

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

…リリースしました。 ReactivePropertyで使うデフォルトのスケジューラをReactivePropertySchedulerにしました 何もしないと、UIDispatcherSchedulerを使い、ReactivePropertyScheduler.SetDefaultでスケジューラーを明示したときにはそちらを使うようにしました。主にテスト時にスケジューラーを差し替えたり、コンソールアプリケーションのようにSynchronizationContextが無い環境での…