かずきのBlog@hatena

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

UWP

SDK StyleのプロジェクトファイルをUWP, Xamarinで使いたい

ReactiveProperty のパッケージ分割するにあたってやろうとしてるんだけど標準だときびしい…?ということで MSBuild.Sdk.Extras というパッケージを使いました。 空のクラスライブラリを作って Sdk 属性に MSBuild.Sdk.Extras/2.0.54 を設定して TargetFrame…

WPF on .NET Core 3.0 で XAML Islands してみよう

しばらく目を離してると手順がガラッと変わっててびっくりしてる今日この頃。 docs.microsoft.com WPF on .NET Core 3.0 で XAML Islands を試してみたいと思います。 プロジェクトの構成 前は WPF プロジェクトにライブラリ追加して…という感じだったのです…

C++/WinRT で Windows Runtime Component を作って C# から呼ぶまで

ちょっと迷ったのでメモしておきます。 C+/WinRT自体についてはこちら docs.microsoft.com 上のドキュメントの、このページの部分に関連してます。 docs.microsoft.com docs.microsoft.com Step 1: Windows Runtime Component プロジェクトの作成と idl の定…

Windows デスクトップアプリ開発と消えた Prism for Windows (Prism は消えてないよ)

これの続きです。 blog.okazuki.jp Prism for Windows(UWP) って書いてるけど MVVM アプリって何で作ったらいいんだっていう感じのコメントがついてるので事実だけを淡々と Prism は以下のプラットフォーム向けに提供されていた WPF Xamarin.Forms UWP これ…

Prism for Windows(UWP) が消えてた

github.com ということで近い将来 Prism 7 系で UWP サポートは無いということで…。 コメントへの返信 ブクマで疑問文投げてくる人に公式で返信する手段が欲しいところ。あるのかな? もう、UWP は Windows 10 の唯一のデスクトップアプリ開発の投資先ではな…

C++ 製の Windows ランタイム コンポーネントを .NET Framework のアプリから呼ぶ方法

ここではないブログに書きました!下のリンクからたどってください。 techcommunity.microsoft.com

.NET のプロジェクトから WinRT API を呼ぶのが凄く簡単になってます

今迄も Windows Runtime API を .NET のプロジェクトから呼ぶことは出来ましたが手動で Windows.winmd ファイルなどを追加しないといけませんでした。 今回新たに Microsoft.Windows.SDK.Contracts というパッケージが追加されてます。まだプレビューですが…

仮想化がサポートされた ItemsControl みたいなコントロール ItemsRepeater

UWP

要素の選択機能とかいらない、もっとシンプルに要素を列挙したいんです!っていうときに ItemsControl 使いますが、こいつは仮想化サポートしてないです。 WinUI に追加された ItemsRepeater は、仮想化がイケる ItemsControl みたいなやつです。 使ってみよ…

UWP でマウスに最適化されたサイズのコントロールを使用する

UWP

コンパクト!!ついに出てきました。 docs.microsoft.com 使い方 UWP のプロジェクトを作るって Microsoft.UI.Xaml の NuGet パッケージを追加。 そして、以下の ResourceDictinary を適用したい範囲のルートの Resources に設定する。 <ResourceDictionary Source="ms-appx:///Microsoft.UI.Xaml/DensityStyles/Compact.xaml" /> アプリケーション全</resourcedictionary>…

msix でアプリケーションの更新に対応する(多分 ClickOnce の正当な移行先)

UWP

変更履歴 2019/12/06 ローカライズの問題が修正されていたので追記しました。 本文 Visual Studio 2019 で UWP や Desktop Bridge アプリのパッケージングをすると msix 形式になってますね。 UWP 自体は VS 2017 の頃からいつからか忘れましたが多分 msix …

MVVM でイベント引数の値を ViewModel のコマンドに渡す方法

こちらを見て、そういえばさらっと書いてるだけだったなぁと思ったので…。 elf-mission.net イベント引数を ViewModel で使いたい マウス系イベントや選択系イベントは、イベント引数にしか入ってない値とかもあったりして使いたくなりますよね。 まぁ、イベ…

Xamarin.Forms で AI をアプリに組み込んでみよう(UWP, Android, iOS)

Android は TensorFlow、iOS は CoreML、Windows 10 は onnx という感じで各 OS でディープラーニングの学習モデルをサポートするような API が追加されてきてますね! Xamarin.Forms を使えば Android, iOS, UWP アプリの開発が同時に出来る(UI を各 OS ご…

Microsoft Tech Summit 2018 で Windows 10 対応のデスクトップアプリを作る技術 というタイトルで発表してきました

2018/11/05 - 2018/11/07 で開催された Microsoft Tech Summit 2018 で登壇してきました。 その時のセッション用に準備したコードを以下のリポジトリに公開しました。 github.com 伝えたかったこと AI とか無関係じゃないし、新機能とかもあるし、デスクトッ…

Prism の v7.1 がリリースされてました

Prism v7.1 が2週間ちょっと前にリリースされてました。 github.com かなり大きな更新に見えます。 個人的にインパクトが大きそうだと思ったのが Autofac と MEF が Prism の将来のサポート対象から外れてしまうことでしょうか。 Autofac はイミュータブルに…

REST API から Windows アプリの操作

Project Roma というのが発表されてもうかなりの時間がたちますが、UWP 同士では GA してて Android/iOS/Microsoft Graph API は Preview な感じです。Microsoft Graph API のカテゴリを見ると Cross-device experience という名前になってますね。 早く GA …

C++ の既存アプリにちょっとずつ Windows 10 風味を付け加えてみる

C++ ネタです。久しく触ってない言語なのと、へましたらメモリリークやらなんやらしやすい言語なので、そういうまずいところ見たら教えてください! ではやっていきます。 はじめに 先日、以下の記事を書きました。 blog.okazuki.jp 最初に触った言語が C/C+…

ネイティブの C++ から UWP の API を呼ぶ (C++/WinRT を使って)

UWP

C++/WinRT っていうのが追加されてたんですね。知らなかったのですが。 docs.microsoft.com これを使うと C++/CX とかみたいな魔改造言語じゃなくて C++ で UWP の開発が出来ますし、UWP の API を呼ぶのもお手軽です。 ちょっとやってみましょう。 環境設定…

MFC のような C++ アプリから Microsoft ストアのアプリ内購入 API を使う

まず、MFCアプリのプロジェクトを appx にパッケージングします。 Visual Studio を使ってデスクトップ アプリケーションをパッケージ化します。 - UWP app developer | Microsoft Docs 次に UWP の API を使うための設定を以下のページに従ってやります。 W…

UWP の TreeView でデータバインディングを使ってデータを表示する(プレビュー)

UWP

Windows 10 April 2018 Update で追加された TreeView ですがデータバインディングでデータを表示することが出来なくて不満でしたが、今見たらプレビューで出来るようです。 ちょっと試してみました。使い方は簡単です。ItemsSource にコレクションをバイン…

WPF や WinForms などで UWP のコントロールを使う XAML Island(プレビュー)

UWP のコントロールを WPF や WinForms などで使う XAML Island ですが現在プレビュー段階ですが試すことが出来るようになっています。 NuGet パッケージのソースとして https://dotnet.myget.org/F/uwpcommunitytoolkit/api/v3/index.json を追加することで…

UWPで子 Window をサブディスプレイ(プロジェクターなど)に表示する方法(ただしフルスクリーンでな!)

UWP

UWP で子ウィンドウ作れるんですが、場所の制御方法がイマイチ自由度が無いですね…。 変な位置に隠れてウィンドウ出して、こそこそ動き回るタイプのアプリを作らせないためでしょうか? 今回は、メインのウィンドウから子ウィンドウを出して、そいつをサブデ…

他の人のアカウントに提出する用に UWP アプリをビルドする方法

UWP

一番簡単なのは、ストアのダッシュボードから Azure AD を紐づけて、そこに開発者ロールで追加してもらえば、普通に Visual Studio からストア向けパッケージ作れるんですが、それが出来ないケースでの方法です。 アカウント ユーザーの管理 - UWP app devel…

Windows 8.1 アプリから UWP へのアップグレード時の ApplicationData.Current.LocalFolder の中身

UWP

前準備 アプリ名を予約しておきます。 同じアプリに紐づけた Windows 8.1 アプリと UWP アプリを準備します。 試したこと ローカルデータの保存場所 UWP やストアアプリでローカルデータを保存しておくための ApplicationData.Current.LocalFolder のパスが…

de:code 2018 の「最新 Windows 10 に最適なデスクトップアプリ開発手法ご紹介」で伝えたかったこと

UWP

参加していただいた方ありがとうございました! セッション動画やスライドは順次公開されていくと思います。私はセッション中で使ったプログラムなどは GitHub に置いてありますのでご興味がおありでしたらご確認ください。 github.com 伝えたかったこと 一…

HoloLens の入力デバイスとしてのスマートフォン

HoloLens って AirTap とかだけだと操作めんどくさいですよね? ボタンを押したい or 文字を入れたいだけなのに視線を移動させてえいってやる感じが。 Project Rome Windows 10 アニバーサリーアップデートのタイミングで公表された Project Rome というもの…

UWP でアプリを閉じるときに確認画面を出す方法

UWP

これずっと出来ないと思ってたのですが de:code 用に色々見てたら出来るっちゃぁ出来るようになってるのを見つけました。 下記の権限のサイトをみてみると confirmAppClose っていうのがある!? docs.microsoft.com 試してみよう confirmAppClose の機能を …

UWP Community Toolkit が Windows Community Toolkit に名前が変わったみたいです

UWP

de:code 2018 の準備のために Blog チェックしてたらこんな記事を見つけました。 blogs.windows.com おぉ!名前変わったんですね!! github.com 正直なところ Toolkit の名前のライブラリにはあまりいい思い出がないので大丈夫かなぁと思ってましたけど、結…

SignalR を Windows Mixed Reality で使いたい

追記 Unity Editor 上でも動くみたいです。やったね! tarukosu.hatenablog.com 本文 SignalR は簡単に言うと WebSocket とかをいい感じに隠してくれてサーバーからクライアント(Webやネイティブアプリなど)に対して処理を実行することが出来るライブラリ…

UWP の配置に関する blog があった!

UWP

今日まで知らなかったんですが、UWP の配置に特化したブログがあったんですね…。 blogs.msdn.microsoft.com msix とかについても、何かあったらここになるのかな?それとも別の blog とかがあるんだろうか(探してない) とりあえずもうすぐ出るであろう Red…

Progressive Web app を Windows 10 のインストールパッケージに固めてしまおう(Microsoft ストアに出せるようになるよ)

UWP

さて、Progressive Web app(PWA)が Microsoft store で配られるのですが自分のサイトも!!と思ってる人は以下のような手順でいけると思います。 マニフェストを用意しよう PWA Builder というサイトを使うと簡単に出来ます。 www.pwabuilder.com まぁ、マ…