かずきのBlog@hatena

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

2016-03-01から1ヶ月間の記事一覧

UWPでListView/GridViewのItemのIsSelectedプロパティをバインディングする

UWP

WPFだとStyleにBinding書けばいけるんですけど、UWPだと出来ない!由々しき事態。ということでUWPだとどうやるかというとListViewとかを拡張してごにょごにょする必要があります。 stackoverflow.com こんな感じでListViewを拡張します。ListViewItemが作ら…

UWPのListView/GridViewでSelectedItemsをViewModelに渡したい

UWP

SelectedItemsってDependencyPropertyじゃないっぽいのでバインド出来ないんですよね。ということで、ベタな方法ですがView → ViewModelの1方向でいいなら以下のような方法が使えます。 まず、ViewModelとListViewに表示するアイテムのクラスを作ります。 us…

Taskを返すメソッドをそのままreturnして失敗した

C#

Task HogehogeAsync()みたいなメソッドがあるとします。 そのメソッドをTask FugafugaAsync()で呼ぶときに、単発で呼ぶだけならそのままreturnしてしまいますよね。 async FugafugaAsync() { return HogehogeAsync(); } こんなノリで以下のようなメソッドで…

UWPでキーボードショートカット その2

UWP

その1では、CoreWindowのKeyDownを使ってました。 DispatcherのAccelaratorKeyActivatedイベントも使える奴みたいですね。 こっちでやるとTextBoxがフォーカス持っててもEnterとかのイベントが拾えたのでこっちのほうがいいかも。 こんな感じのBehaviorにな…

UWPでキーボードショートカット

UWP

こんな感じのビヘイビアを定義しておきます。 using Microsoft.Xaml.Interactivity; using Windows.System; using Windows.UI.Core; using Windows.UI.Xaml; namespace App65 { public class KeyEventTriggerBehavior : DependencyObject, IBehavior { publi…

UWPでキーボードのキーが押されているかどうか判定する

UWP

AltキーやCtrlキーやShiftキーなんかが押されてるかというときに使うと思います。 CoreWindow.GetKeyStateメソッドを使います。 var state = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift); if ((state & CoreVirtualKeyStates.Down) == CoreVir…

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

www.nuget.org さくっとリリースしました。 ReactivePropertyで使うデフォルトのスケジューラをReactivePropertySchedulerにしました 何もしないと、UIDispatcherSchedulerを使い、ReactivePropertyScheduler.SetDefaultでスケジューラーを明示したときには…

UWP対応のNuGetパッケージ

UWP

ReactivePropertyをUWPとWindows store appを分けて対応しようとして調べてるのでメモっておきます。 Announcing NuGet 3.1 with Support for Universal Windows Platform uapっていうのとwin81でわかれてるんですね。

UWPで共有コントラクト 受信側

UWP

送信側は簡単にできました。 blog.okazuki.jp ということで、今度は受信側です。 受信側はPackage.appxmanifestでアプリが何を受信できるのか定義する必要があります。宣言タブで共有ターゲットを追加して、簡単な共有の説明と受け付けるデータ形式を入力し…

Data Lake Analyticsに.NETからクエリを投げる

下準備については1つ前のエントリを参照してください。 blog.okazuki.jp 下準備で作ったプロジェクトに以下のアセンブリをNuGetから追加します(プレリリースで) Microsoft.Azure.Management.DataLake.Analytics そして下準備のプログラムに以下のような感…

UWPで電話に実機デプロイができなくなった

UWP

何がきっかけかわかりませんが以下のエラーが出て実機デプロイできなくなりました…。 2>エラー: DEP0001 : 予期しないエラー: Install failed. Please contact your software vendor. (Exception from HRESULT: 0x80073CF9) 何だろう。 まとめ 他の人のVisua…

Data Lakeを.NETから使う「アップロード・ダウンロード」

下準備については1つ前のエントリを参照してください。 blog.okazuki.jp このプログラムに続いて以下のコードを書くことでファイルのアップロードとダウンロードが出来ました。 // file upload using (var fs = new FileStream("ConsoleApplication8.exe", F…

DataLakeを.NETから使う下準備

超ハマったのでメモを残しておきます。 まず、AzureADでアプリ作らないといけないんですよ、アプリ。基本的な手順は以下のページに従ってやればOKです。 azure.microsoft.com ハマった所としては、このとき使うAzureADのディレクトリってAzureに最初から作ら…

UWPで共有コントラクト 送信側

UWP

共有コントラクトってUWPでも言うんですかね? Windows 8で追加されて、めでたく?Windows 10で廃止されたチャームにあった共有ですが、UWPではアプリから明示的に共有を表示してやる必要があります。それ以外はWindowsストアアプリの頃と変わっていません。…

UWPでカメラから動画撮影

UWP

UWPでカメラからの動画を録画する方法です。 CameraCaptureUIクラスを使用します。 VideoSettings.Formatで保存するタイプを指定してCapgureFileAsyncで録画とファイルへの保存を行います。 後は、FileSavePickerあたりで適当なファイルに出力してやればOKで…

特定サイトを閲覧するためのアプリを作る「Life with Windows 10 Mibileを題材に その2」

UWP

blog.okazuki.jp 真面目にアプリを作る方法を紹介しましたが、もう1つHosted Web appというものもあるので、こちらも紹介します。 これは、公式さんがやるといいかも? まず、JavaScriptのUWPのアプリを作ります。 css, js, WinJS, default.htmlはいらないの…

特定サイトを閲覧するためのアプリを作る「Life with Windows 10 Mibileを題材に」

UWP

(*´ω`*) どなたか「Life with Windows 10 Mobileビュアーアプリ」とかWindows 10 Mobile用に作ってくれないかなあ。。。ポソリ— Life with W10M 編集部 (@Life_w10m) 2016年3月16日 こんな呟きもあったので、簡単にですが、こういうアプリを作る方法を書いて…

プログラミング生放送勉強会 第40回@金沢が開催されます

2016年3月26日(土)にプログラミング生放送の第40回が金沢で開催されます。 atnd.org プロ生は個人的に参加したことがない!ので、なんとも言えませんが主催者の人からお勧めポイントを聞いてみました。 @okazuki 様々な年代の人と出会える(高校生、たまに…

UWPでEntity Framework 管理外のオブジェクトを変更監視に追加する

UWP

一旦DBからとってきたデータを暫く手元に置いておいて、後で更新したいということってありますよね。Entity Frameworkのデフォルトの挙動だと、DbSetから取得したデータに対する変更は監視して、いい感じにSaveChangesのときにDBに反映してくれます。 ただ、…

UWPでEntity Framework 追加・更新・削除

UWP

コードファーストでのテーブル定義もなんとなくわかったので、追加・更新・削除でもしてみたいと思います。 基本的な流れは、変更操作をした後SaveChangesメソッドを呼び出すという流れになります。SaveChangesを呼び出すとEntity Frameworkが、それまでの変…

UWPで画像ビューワー

UWP

UWPでMVVMが~とか考える前に初心者にとってもとっつきやすい(とっついたあとはガンバ!)というのを紹介したいと思います。 ということで、UWPアプリで簡単な画像ビューワーを作ってみましょう! プロジェクトの作成 プロジェクトの新規作成でVisual C# → …

UWPで音声認識

UWP

UWPで音声認識をするには、SpeechRecognizerクラスを使います。 使い方は非常に簡単でインスタンスを作って、CompileConstraintsAsyncメソッドを呼び出します。そのあと、音声認識をしたいタイミングでRecognizeAsyncかRecognizeWithUIAsyncを呼び出します。…

UWPでEntity Framework OneToOne

UWP

先日OneToManyやったので今日はOneToOneをやってみたいと思います。 こんな感じのクラスを定義します。 public class Person { public int Id { get; set; } public string Name { get; set; } public PersonDetail Detail { get; set; } } public class Per…

UWPでEntity Framework OneToMany

UWP

単体のテーブルの定義ではなく、テーブル間のリレーションの定義の仕方です。これもOnModelCreatingで指定します。例えば以下のような感じのクラスがあったとして public class Person { public int Id { get; set; } public string Name { get; set; } publ…

UWPでEntityFramework 2種類のコードファーストでのモデル定義方法

UWP

Entity Frameworkには、アノテーションでクラスに属性をつけてDBの定義を行う方法と、ContextクラスのOnModelCreatingメソッドでModelBuilderクラスを使ったFluentAPIの2種類の定義方法があります。 なんとなく、流れを見てる感じだとModelBuilderを使った定…

UWPでSQLiteを使う 準備編

UWP

UWPでのデータベースといったらSQLiteといった感じです。小規模なら、クラスのインスタンスをそのままJSON.NETでさくっとシリアライズ・デシリアライズでいいですが、データ量がちょっと多くなってくると、いつ終了してもいいように備えないといけないUWPで…

WPF4.5入門のKindle版をアップデートしました

WPF

www.amazon.co.jp 図がずれたり、図中の日本語が文字化けしていたのを、全て画像化したので文字化け等が無くなりました。 因みに、上記のKindleで売ってるものは、SlideShareからPDF形式のものはダウンロード出来ます。通常はそちらを読んで頂いて買ってもい…

UWPでマイクから録音したい

UWP

MediaCaptureクラスを使ってやることが出来ます。 まず、MediaCaptureクラスの初期化処理が必要になります。OnNavigatedToあたりに書くといいでしょう。 private MediaCapture MediaCapture { get; set; } protected override async void OnNavigatedTo(Navi…

UWPで予定を追加したりしたい

UWP

UWPでは簡単に予定を追加したり削除したりできます。 AppointmentManagerクラスに各種メソッドがあります。 ShowAddAppointmentAsync : 予定を追加 ShowRemoveAppointmentAsync : 予定を削除 ShowAppointmentDetailAsync : 予定の詳細 ShowEditNewAppointmen…

ネットワークの接続状態を確認する

UWP

UWPでインターネットの接続状態を確認するには、NetworkInformationクラスを使います。 NetworkInformationクラスのGetInternetConnectionProfileでインターネット接続へのConnectionprofileクラスが取得できます。これに対して、GetNetworkConnectivityLeve…