かずきのBlog@hatena

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

UWP

UWPのPivotで左右の余白を0にする

UWP

Pivotコントロールを使うと、コンテンツを表示するところの左右に余白が作られてしまいます。 こいつを消したい!というときにどうするかというと… 方法1 PivotItemのMarginを0に設定する。 PivotItemの数が固定で、自分PivotItemを置いてるだけならこれがお…

UWPでSplitViewの左側のページ名のリストと右側の実際の表示されてるページを同期させる

UWP

Prism使ってやってみましょう。UWPアプリを作ってPrism.Unityを追加してAppクラスを書き換えます。 XAML側

UWPでバックグラウンドタスクとフォアグラウンドの処理の連携方法

UWP

UWPのバックグラウンドタスクとフォアグラウンドの処理を連携させるために、IBackgroundTaskRegistrationのProgressイベントとCompletedイベントが定義されています。 例えば、TimerTaskという名前のバックグラウンドタスクのProgressイベントとCompletedイ…

UWPでSuspendingの後にOSによって終了されずに復帰したときに処理をしたい

UWP

そんなときはAppクラスのResumingイベントで処理を行います。 Application.Resuming Event (Windows)

UWPのListViewのItemTemplate内のボタンをクリックしたときにPageのDataContextにセットしたViewModelのメソッドを呼んでかつ押された行のデータが知りたいコマンド編

UWP

blog.okazuki.jp 初音さんがコマンドの場合のを教えてくれました。InvokeCommandActionを使えばこういう感じでいけます。 VMをコマンドに変更して using Prism.Commands; using Prism.Mvvm; using System; using System.Collections.Generic; using System.C…

UWPのListViewのItemTemplate内のボタンをクリックしたときにPageのDataContextにセットしたViewModelのメソッドを呼んでかつ押された行のデータが知りたい

UWP

blog.okazuki.jp 続きです。 senderのDataContextを引数に渡してくれるようなCallMethodActionを自作すればいいですね。 using Microsoft.Xaml.Interactivity; using System.Reflection; using Windows.UI.Xaml; namespace App9 { public class TransferSend…

UWPのListViewのItemTemplate内のボタンをクリックしたときにPageのDataContextにセットしたViewModelのメソッドを呼ぶ

UWP

ということがしたいとします。 ListViewItemのDataContextは、項目の要素になってるのでひと手間必要になります。 こんな感じのViewModelがあるとして。 public sealed partial class MainPage : Page { public MainPageViewModel ViewModel => this.DataCon…

バックグラウンドでソケット通信

UWP

今ソケット通信がアツイ!! というわけで、バックグラウンドでソケット通信をする方法です。 UWPのソケットのクラスであるStreamSocketクラスはバックグラウンドでソケット通信をする機能があったりします。 バックグラウンド通信の有効化 仮にRuntimeCompo…

UWPのサンプルのPullToRefresh(引っ張って更新)からRefreshableListViewを持ってくる方法

UWP

@mntoneさんがRefreshableListViewがあることをツイッターで呟いてたので見てみました。実装は置いといて、使うためには自分のプロジェクトに持ってこないといけないですね。ということでもっていこうと思います。 UWPのサンプルのリポジトリをクローンしま…

UWPで要素をソフトウェアキーボードに追従させる

UWP

雪猫さんのところでこんな感じのことをやってました。 [UWP] 要素をソフトウェアキーボードに追従させる | 雪猫ノート こういう感じでUIに閉じた操作ならBehaviorのほうがいいかな?と思ったのでどんな感じなのかというのを。 using Microsoft.Xaml.Interact…

HoloLensのエミュレータでUWPが動いた!

UWP

当然っちゃ当然ですが動きました。 HoloLensのエミュレータをインストールすると、以下のように実行の並びにHoloLens Emulatorが追加されます。 これで実行するとい以下のようにエミュレータが起動して、その中でアプリが動きます。 ドラッグで視線みたいな…

UWPでSHIFT_JISを使いたい

UWP

Encoding.GetEncodingを呼ぶ前に以下のおまじないを追加しておくことで使うことが出来るようになります。 System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);

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…

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…

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でアプリが何を受信できるのか定義する必要があります。宣言タブで共有ターゲットを追加して、簡単な共有の説明と受け付けるデータ形式を入力し…

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

UWP

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

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日 こんな呟きもあったので、簡単にですが、こういうアプリを作る方法を書いて…

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…