2016-04-01から1ヶ月間の記事一覧
久しぶりのReactivePropertyネタです。 ReactiveProperty, ReadOnlyReactiveProperty, ReactiveCommand等は、地味にIDisposableを実装しています。 IDisposableを実装しているということは、Disposeをしないといけないということになります。 Disposeしなく…
本日カルフォルニアにも支社のある、エクセルソフトさんでHoloLensの開封の儀に参加してきました。 XLsoft エクセルソフト : C++、Fortran、Java、.NET、Excel、Web、PDF、セキュリティ ソフトウェアなど、世界中の優れた開発ツールを販売 HoloLens 箱はシッ…
Prism.Formsでは、IPageDialogServiceというインターフェースが提供されていて、ダイアログの表示もばっちりViewModelで出来るようになっています。 IPageDialogServiceには、DisplayAlertメソッドと、DisplayActionSheetメソッドが定義されています。Displa…
出来ません。 なので疑似的にやるBehaviorを作ってみました。以下のような感じです。 using Microsoft.Xaml.Interactivity; using System; using System.Reflection; using Windows.UI.Xaml; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Media; name…
選択されてるときには、何かを出したいとか出したくないとか、そういう要件です。 まずは、バインドされてる要素が自分は今選択されているのかどうかを知っておくと話が早くなります。それについては、以下の記事を参照。 blog.okazuki.jp あとは、このIsSel…
www.nuget.org ReadOnlyReactiveCollectionが、過負荷のときに処理順番がおかしくなることがあるという報告がきたのでなおしました。
ytabuchi.hatenablog.com 上記記事をPrism.Formsを使ってやるとどうなるだろうという奴です。 まず、Prism MasterDetailPage (Forms)でRootPageという名前のページを作ります。 続けて、メニュー部を担当するMenuPageをPrism ContentPage (Forms)で作ります…
Prism.Formsは、地味にネストした画面遷移みたいなのをサポートしています。 画面遷移のINavigationService#Navigateメソッドに渡すURLに"/HogePage/FugaPage/BarPage?id=10"みたいに/で区切ってページ指定が出来ます。 最初が/だと絶対パスになるっぽくて画…
変更通知用のINotifyPropertyChangedとコマンド用のICommand実装クラスが提供されています。 INotifyPropertyChangedの実装クラス BindableBaseクラスになります。SetPropertyというメソッドがあって、変更通知プロパティを以下のように定義できるようになっ…
Prism.Formsのプロジェクトを新規作成します。 Prism ContentPageを1つ追加します。NextPageという名前で作りました。こんな感じで。
Prism.Formsを使えば簡単にMVVMのViewのBindingContextにViewModelを設定できます。Hello worldでもやったっちゃやりましたが、もう一度改めてやってみようと思います。 VとVMを紐づけるには、ViewModelLocatorというクラスを使用します。ViewModelLocatorク…
Prism.Formsを使ってViewを作成するには、Views名前空間にXAMLの形式で作るのが素直でいい感じです。 Viewは、利用可能にするには、Views名前空間に作成するのに加えてAppクラスのRegisterTypesメソッドでUnityのコンテナに登録する必要があります。この登録…
PrismってXamarinにも対応してるんですよね(Previewですけど)ということで、Hello worldしながら、基本的な手順をやっていこうと思います。 プロジェクトの新規作成 まず、プロジェクトの新規作成を行います。Cross-Platform/Blank App (Xamarin.Forms Por…
Pivotコントロールを使うと、コンテンツを表示するところの左右に余白が作られてしまいます。 こいつを消したい!というときにどうするかというと… 方法1 PivotItemのMarginを0に設定する。 PivotItemの数が固定で、自分PivotItemを置いてるだけならこれがお…
Azure Data Lakeのはまりどころという感じでLTしてきました。 20160416 Azure Data Lakeのはまりどころ from 一希 大田 www.slideshare.net 資料を公開しておきます。
というときどうするか。ControlTemplateをいじりましょう(完 WPFのいいところはControlTemplateで、完全にコントロールの見た目をカスタマイズする余地が残されてるという点ですが、WPFのプロパティの範囲でできないカスタマイズとかが出てきたらControlTem…
PrismのWPFとXamarin.Forms(こっちはまだPreview)には、プロジェクトテンプレートが提供されています。 拡張機能でPrismで検索すると、Prism Template Packというものがヒットします。 こいつをインストールすると、Prism.Unityを使ったプロジェクトテンプ…
デフォルト値を指定すればいいみたいです。メモメモ。 // hogeは必須で残りはオプション public IHttpActionResult Get(string hoge, string foo = null, string bar = null) { ... }
Prism使ってやってみましょう。UWPアプリを作ってPrism.Unityを追加してAppクラスを書き換えます。 XAML側
最適解じゃなさそうだけどこんな感じで…。
JObjectの使い方を勉強してみた。 var j = new JObject(); j.Add("Item1", new JObject()); j.Add("Item2", new JObject()); j.Add("Item3", new JObject()); こういう感じで Console.WriteLine(JsonConvert.SerializeObject(j)); とすることで { "Item1": {…
UWPのバックグラウンドタスクとフォアグラウンドの処理を連携させるために、IBackgroundTaskRegistrationのProgressイベントとCompletedイベントが定義されています。 例えば、TimerTaskという名前のバックグラウンドタスクのProgressイベントとCompletedイ…
www.nuget.org こんな意見をいただいたので @okazuki BusyNotifier から IsNotBusy(IsReady?) as ReactiveProperty が得られると嬉しいですね。理由はこれ→ https://t.co/SjGC0SHtzu です。— あめいスピナーデコ (@amay077) 2016年4月8日 ちょっと機能を追加…
2度押し防止のための機能を追加しました。 www.nuget.org 名前はBusyNotifierです。 こんな感じで使います。 public class MainWindowViewModel { private BusyNotifier BusyNotifier { get; } = new BusyNotifier(); public ReactiveProperty<string> Output { get;</string>…
無い。 ということで、年始に365記事以上書くという目標を立ててるのですが、とりあえず100日という1つの区切りを迎えることが出来ました。1日1記事書けば達成じゃない?という思惑で始めたのですが、1日1記事以上のペースで書き続けているっぽく、かなり貯…
そんなときはAppクラスのResumingイベントで処理を行います。 Application.Resuming Event (Windows)
blog.okazuki.jp 初音さんがコマンドの場合のを教えてくれました。InvokeCommandActionを使えばこういう感じでいけます。 VMをコマンドに変更して using Prism.Commands; using Prism.Mvvm; using System; using System.Collections.Generic; using System.C…
blog.okazuki.jp 続きです。 senderのDataContextを引数に渡してくれるようなCallMethodActionを自作すればいいですね。 using Microsoft.Xaml.Interactivity; using System.Reflection; using Windows.UI.Xaml; namespace App9 { public class TransferSend…
ということがしたいとします。 ListViewItemのDataContextは、項目の要素になってるのでひと手間必要になります。 こんな感じのViewModelがあるとして。 public sealed partial class MainPage : Page { public MainPageViewModel ViewModel => this.DataCon…
tamafuyou.hatenablog.com qiita.com CountNotifierを使うケースで。CountNotifierは、カウントを数えるものですが、Emptyの時だけというようにSelectかましてToReactiveCommandすると、多重実行防止にも使えます。こんな感じで。 public class MainWindowVi…