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

かずきのBlog@hatena

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

ReactiveProperty 3.6.0をリリースしました

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

Visual Studio 2017 リリース記念勉強会の動画が公開されました

先日開催されたVisual Studio 2017リリース記念勉強会ですが blog.okazuki.jp 録画されていた動画が公開されました。 www.youtube.com 実際に当日来れてないかたは是非見てみてね!

Visual Studio 2017 リリース記念勉強会で発表してきました

3月11日にC#ユーザー会が開催したVisual Studio 2017 リリース記念勉強会で発表してきました。 発表資料を公開します。 Visual Studio 2017 新機能—大田 一希 30分というあわただしい感じの発表になってしまいましたが、なにか1つくらい知らない機能を持ち帰…

ASP.NET CoreでAngularをする VSCodeを使おう

dotnet new angularでプロジェクト作成して、webpackしてdotnet runで実行できることはわかりました。 では、Visual Studio Codeで快適に作業するにはどうするのがいいのか?ということになりますよね! Visual Studio Codeで開発するには以下のような感じで…

ASP.NET CoreでAngularをするHello world

以下の記事の続きです。 blog.okazuki.jp ひな形に自分のプログラムを追加してHello worldしてみます。 ClientAppフォルダにAngularのプログラムの本体がいます。そこを弄っていきます。 ClientApp/app/componentsフォルダにhelloworldフォルダを作りましょ…

ASP.NET CoreでAngularをする下準備

2017/03/05 日時点の情報です @angular/cliとか使って始めるのもいいですが、これだとサーバーサイド何でつくるの??という感じになってしまうので、C#erとしては今やるならASP.NET Coreでしょ!ということで始め方をメモっておきます。 結論としてはdotnet…

一定時間やりなおしが出来るようにする

メール削除とかしたけど、一定時間取返しがきくみたいなUIがありますよね。 あぁいうのどうやるんだろうというのを考えてみました。 UWPでやってみますが、WPFでもXamarin.Formsでも基本的に同じ感じになると思います。見た目凝るのが一番難しそう。 Modelの…

Azure AD対応のマルチテナントアプリケーションを作ってみよう

以下のサイトにサンプルがあるので、それに沿ってやっていきます。 github.com Azure ADのディレクトリを作る というわけでさくっとクラシックポータルからAzure ADのディレクトリを作ります。 ここでは、okazukimultitenanttestという名前で作りました。 ア…

Python入門者の集い #4 でLTしてきました

転職してはじめての発表はPythonの勉強会でVisual Studioはいいぞ!してきました。インテリセンスが無いと開発できない体になってしまってる自分がいる。 Pythonの開発環境—大田 一希

SIerから日本マイクロソフトへ転職しました

2月17日付で富士通の子会社のSIerを退職しました。2月20日から日本マイクロソフトで働きはじめました。 ということで振り返りを。 富士通の子会社に入社 2005年に富士通の子会社に入社しました。確か当時1500人規模だったと記憶しています。 新宿に拠点を構…

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

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

Xamarin.FormsでBotFrameworkのDirectLineを試す

自分用メモです。(雑です) PCLを辞めます。 .NET Standardにプロジェクトを変換します。 以下をプロジェクトに追加する。 Micrsoft.Bot.Connector.DirectrLine Microsoft.Rest.ClientRuntime こんな感じに書けば動いた!とりあえず

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

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

WPFでWindowが閉じられたときにViewModelの後始末メソッドを呼ぶ

そういう動きをするビヘイビアを作ればOKです。こんな感じで。 public class ViewModelCleanupBehavior : Behavior<Window> { protected override void OnAttached() { base.OnAttached(); this.AssociatedObject.Closed += this.WindowClosed; } private void Windo</window>…

JXUGC 22 最新事例&お前のアプリを説明してもらおうの会で発表してきました

XAML入門というテーマで発表してきました。スライドを公開します。 XAML入門 from 一希 大田 www.slideshare.net

Xamrin.FormsでBLEのアドバタイズパケットを拾おう(要はビーコン)

ということで、Xamarin.FormsでBLEやってみようと思います。 スキャンして、近くのパケット拾って来るのがゴールくらいにしておきましょう。 BLEを使おうとすると、ネイティブのコードを書かないといけないのですが、幸いにもプラグインのリストにBluetooth …

Xamarin.Formsでグラフを描こう(OxyPlot)

WPFでグラフを描けるライブラリを探してたらOxyPlotというのを見つけました。 見つけたと思ったら、こいつXamarin.Formsでもできるぞ!?ということで試して見ました。 NuGetの追加 以下のパッケージを追加します。 OxyPlot.Xamarin.Forms 初期化 以下のコー…

2016年に最も読まれた記事 TOP10 世間はDataTableと戦っている

2017年も始まってしばらく経ったので2016年の振り返りをして見たいと思います。 ということで、2016年に最も読まれた記事TOP10でも見て見たいと思います。 1位 blog.okazuki.jp あっはい。 世間は、まだDataTable全盛期なんでしょうか。2009年に書いてる記事…

Microsoft Azure ServiceFabricで複数のサービスで設定値を共通化したい

同じDBに繋ぐときとか一か所で設定を終えたいですよね。 ということで手順を備忘録的に残しておこうと思います。基本的には以下に書いてあることです。 Service Fabric での複数の環境の管理 | Microsoft Docs Step1 サービスのプロジェクト/PackageRoot/COn…

かずきのXamarin.Forms入門を更新しました

すっかりDataTemplateSelectorについて書くのを忘れてたのでSlideShareのPDFとKindleを差し替えました。 Kindleは反映までに1日くらいかかるのと、おそらく既に購入された方には変更は届けないとAmazonが判断すると思います…(よっぽどインパクトの大きな変…

MacBook Pro (Late 2016) 15インチをXamarin開発用に買ったので感想

使い方 私のMacBook Pro(Late 2016)の使い方は以下のような感じです。 Xamarin開発環境として Xamarin StudioとVisual Studio for Macを入れてXamarinの開発環境とするために購入しました。 なので、この使い方がメインになります。 MacBook Proのメモリ16GB…

Prism.FormsでAutofacを使ってみよう

Xamarin Studioベースで話を進めます。(Visual Studioでもだいたい同じになると思うけど) まずForms Appを新規作成してPCLで作ります。 NuGetから以下のパッケージを追加します。 Prism.Autofac.Forms Views名前空間を作って、そこにMainPage.xamlを作成し…

MacのXamarin.iOSでSegueが作れない

Ctrl + Dragでページを結んでもSegueが作れないというかメニューが一瞬出て消えるっていう動きをしていました。ググってみるとStackoverflowが引っかかりました。 stackoverflow.com トラックパッドの設定で「強めのクリックと触覚フィードバック」のチェッ…

かずきのXamarin.Forms入門のKindle版だしました(Prismもあるよ)

先日SlideShareに公開したXamarin.FormsのPDFですが Xamarin.forms入門 from 一希 大田 www.slideshare.net こちらは、SlideShareにログインすると無料でダウンロードできます。 それに加えて、Kindleで販売も始めました。こちらはKindleで見たい人向けです1…

Xamarin.Forms入門のPDF作りました(Prismもあるよ)

SlideShareでログインしてダウンロードできるようにしています。是非ダウンロードしてみてください!200ページちょっとあります。 Xamarin.forms入門 from 一希 大田 www.slideshare.net 目次 1 はじめに 1.1 ターゲットプラットフォーム 1.2 Xamarin.Forms…

Xamarin.Forms + PrismでSQLiteを使ってみよう

モバイル環境でのデータベースといったらSQLiteがデファクト!ということでXamarin.Forms + Prism.Formsの環境で試してみましょう。 NuGetパッケージの導入 使用するパッケージはSQLite-net-pclです。(似た名前のが多いので注意) www.nuget.org プラットフォ…

DIコンテナのUnityのLifetimeManagerを拡張して任意のタイミングでインスタンスの破棄をする

C#

UnityのLifetimeManagerはシングルトンで管理するContainerControlledLifetimeManagerか、デフォルトの毎回newする‘PerResolveLifetimeManager‘か、スレッド単位のPerThreadLifetimeManagerが用意されています。あとマニアックなところだと、ExternallyContr…

Xamarin.FormsでBehaviorのTriggerとActionを作る

Xamarin.Formsのドキュメント上は見つけれなかったけど、ソースコード的にはTriggerとActionがあったりします。 github.com ただ、この人たちはBindingに対応してないという、ちょっと悲しい感じに仕上がってます。なので、XamarinのBehaviorをベースにBindi…

Xamarin.FormsのBehaviorをBinding可能にする

デフォルトだとBindingできないんですよ。ということでソリューションは以下のようにします。 github.com BindingContextが伝搬しないなら伝搬させればいいじゃない?ということで手動でせっせと伝搬させてます。 これくらいデフォルトで面倒見てほしかった……

Xamarin.FormsのListViewでタップされた項目をスマートにViewModelに渡す方法

EventToCommandBehaviorを使います。コードはこちらを参考に。 github.com この時、こういうBehaviorを作っておくとListViewの選択がされなくなって捗ります。 using Xamarin.Forms; namespace PrismUnityApp2 { public class NotSelectableListViewBehavior…

Xamarin.FormsでPrism.Formsを使ってPCLに非対応なライブラリを使う方法

例えばMicrosoft.AzureのStorageのライブラリなんかがXamarin.AndroidとXamarin.iOSには対応してるけどPCLには対応してないといった感じです。 被害者がここに。 @chomado ウワアアあああああああああああああああああXamarin .Forms PCL の私 爆死\(^o^)/…

Xamarin.Formsで画面レイアウトを作るためのレイアウトコントロールの必要最低限

Xamarin.Formsで思い通りのレイアウトを組みたい。 そんな時には、レイアウト系のコントロールを押さえておくといいです。 公式ドキュメント Layouts - Xamarin Layoutコントロール Xamarin.Formsでは、複数のコントロールを配置するときには、あらかじめ定…

Xamarin.FormsのListViewで行単位で高さを変えるには

何もしないと同じになるっぽい。 違う高さにするには、以下のようにHasUnevenRowsプロパティをTrueに設定すればいい。 <ListView ... HasUnevenRows="True"> ... </ListView> おしまし。

Xamarin.Formsでタブページを使う

TabbedPageを使うといいということみたいです。 TabbedPage内にはタブとして表示したいページを置いて行って、タブのタイトルにはPageのTitleが表示されるという動きをしています。 意外と簡単だった。 Prismを使ってNavigationPage内にTabbedPageをネストし…

Xamarin.FormsでLabelに下線を引きたい

デフォルトで引けないんですね。知らなかった。 Effectを使おう ということでカスタムレンダラー案件かなと思ったらEffectでいけるっぽいです。 Android Androidに以下のようなクラスを追加します。 using Android.Widget; using Xamarin.Forms; using Xamar…

Visual Studio Moble Center触ってみた

Visual Studio Mobile Centerの申し込みをしたら、先日招待メールもらったので触ってみました。 初期画面 ログインするとこんな感じの画面になります。 アプリの作成 Add a new appというボタンがあるので押すと、アプリの作成画面になります。 OSの選択が排…

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

Xamarinで処理中を表すインジケーターを出したい

先日Cognitive Serviceを使った笑顔判定機を作りました。 こいつですが、Web上のAPIを呼び出して回線状況に応じては、そこそこ時間がかかるにも関わらず、処理中を示すUIが表示されていませんでした。 Xamarin.Formsでは、ActivityIndicatorクラスを使うこと…

Xamarin.Formsで笑顔測定をしよう(AndroidとUWP)

最近笑顔してますか?こんな感じの笑顔測定アプリを作ってみようと思います。これならボッチでも笑顔の練習できるよ! 左がニュートラルな顔、右が笑顔の場合です!スコアが変わってますね。 ということで、Cognitive ServiceのFace APIを使って笑顔判定する…

Microsoft Azure Mobile AppsのQuickstartのTodoアプリがUWP版だと例外で落ちることがある

追記 Xamarin.Forms 2.3.3系が正式リリースになったので、記事の内容をアップデート 最近、Microsoft Azure Mobile AppsでQuickstartのTodoアプリのひな型にUWPが追加されました。 小躍りするくらいうれしいことなのですが、このTodoアプリですが追加した複…

クライアントサイドから見たConnect(); 2016はどうだったかという感想

UWPに関しては華麗にスルーされてました。(悲しい) ただ、Visual Studio 2017 RCでは、試してないけどUWP開発のための機能強化も結構含まれてるのでさみしくなんかありません。 デモアプリもUWP多かったですしね! ということで本題です。 クライアントサ…

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 Coreと.NET Standardメモ

復習の時間だ。 .NET Core 日本語だとこのページがわかりやすいと思いました。 .NET Core とオープン ソース 要約するとこんな感じ。 .NET Frameworkのサブセット マルチプラットフォーム対応 Mac Linux Windows OSS!! ASP.NET Core .NET Frameworkと.NET Co…

当然っちゃ当然だけどXamarin.FormsでHoloLens対応アプリ作れます

HoloLensではUWPが動く。 Xamarin.FormsではUWPの開発が可能。 ということで当然ですが動きます。HoloLensでXamarin.Formsで作ったアプリが!! iOS, Android対応アプリをXamarin.Formsで作ってる人は、やってみてもいいのではと思いました。 実験 Prism.For…

UWPアプリでSurface Dialのデフォルトメニューを消す

UWP

Surface Dial対応のアプリを作ろうと思ったときにデフォルトのメニューが邪魔なときがあります。 これは簡単に消すことができます。 // デフォルトメニューを消す var config = RadialControllerConfiguration.GetForCurrentView(); config.SetDefaultMenuIt…

Surface DialをUWPアプリから使う

UWP

Surface Studioと同時に発表されて何かと話題のSurface Dialですが、こいつのAPIはWindows 10 AUでこっそりと入っていたみたいです。 ということで簡単にですが使い方を書いてみようと思います。 何もしないという選択肢 まず、Surface Dialですが何もしなく…

Azure Mobile Appsのローカル同期機能で作成されるDBの中身を見てみよう(Android版)

さて、ローカル同期したAndroidのデータをひっこぬいてBrowser for SQLIteで中身を見てみたいと思います。 今回は、エミュレータで実行してる前提でコマンドを書いています。 まずadbのshellでつなぎます。 adb -e shell アプリパッケージ名を調べます。 ア…

JXUG #18 「Azure Mobile Apps入門」資料公開

JXUG #18で発表してきました。 デモが想定の半分くらいしかできなかったのが心残り(XAMLインテリセンスないと書けない体になってる…)ですが、資料を公開しておきます。 Azure Mobile Apps入門—大田 一希