かずきのBlog@hatena

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

WPF

WPF on .NET Core 3.0 + XAML Islands で Windows UI Library を使おう

前回 blog.okazuki.jp Windows UI Library を使おう Windows UI Library(WinUI) は、次のメジャーアップデートから Windows の OS のバージョンアップに紐づいてアップデートされてきた UWP の UI 部分を OSS として切り離して開発するというポジションにな…

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

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

Livet v3.2.1-pre をリリースしました

StatefulModel も MVVM パターンでアプリケーションを作るときに便利なクラスが入ってるので Livet に取り込んでいいかと作成者の尾上さんに確認したところ快諾していただいたので取り込みました。 LivetCask.StatefulModel パッケージが追加されています。 …

Livet v3.1.0 をリリースしました

今朝、パッケージ分割版をリリースした Livet ですが Messaging 機能を本体から分離していなかったので分離したバージョンをリリースしました。 バージョン番号が 3.0.x から 3.1.0 に上がったのは一部非互換がある可能性のある変更があるからです。 変更点 …

Liver 3.0.3 をリリースしました。Prism + Livet (一部) のようなシナリオをサポート

リリースしました。リリースノートは以下になります。 github.com ポイント パッケージを分割しました。 今まで LivetCask 全部入りパッケージ LivetExtensions フォルダーダイアログ 今回 LivetCask Livet とは切っても切れないクラス群(ViewModel、Messen…

Livet v3.0.0 をリリースしました

WPF

今回の更新はアップデートをすると 100% ビルドエラー or ランタイムエラーになります。注意して更新してください。 リリースノートはこちら。 Release v3.0.0 · runceel/Livet · GitHub NuGet パッケージはこちら .NET Framework 用 NuGet Gallery | LivetC…

ASP.NET Core 3.0 + gRPC + WPF on .NET Core 3.0 で Azure AD を使って認証・認可

過去記事 blog.okazuki.jp blog.okazuki.jp 本文 前回、認証だけはやりました。今回はユーザーの権限とかを見て何かしたいとか、この API は呼べる、呼べないを構成していきたいと思います。 Azure AD のグループ機能で認可してみよう Azure AD のグループで…

ASP.NET Core 3.0 Preview 8 で gRPC に Azure AD 認証つけてみよう

さて、前回は簡単に呼び出す奴を作ってみました。 blog.okazuki.jp 今回は Azure AD 認証を付けたいと思います。 Azure AD にアプリの登録 では、Azure AD にアプリを登録します。サーバー側とクライアント側の 2 つを登録しましょう。 サーバーアプリの登録…

ASP.NET Core 3.0 で gRPC してみよう

.NET Core になると WCF のサーバーサイドが消えて移行先として gRPC があげられてるのを何処かで見た気がします。OSS の WCF もあった気がするけど、そっちはよく見てない。 ということで、ASP.NET Core 3.0 Preview で gRPC 試してみようと思います。 プロ…

WPF の TreeView で任意の項目が表示されるようにスクロールする

WPF

というネタを見つけたのでやってみます。久しぶりの WPF ネタ!因みにせっかくなので .NET Core 3.0 Preview 7 で VS2019 Preview 使ってやってみます。 表示用データはこれ! using System; using System.Collections; using System.Collections.Generic; u…

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

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

Livet のプロジェクトテンプレートを VS2019 対応にしました

以下の拡張機能を VS2019 に対応しました。 marketplace.visualstudio.com

WPF on .NET Core で XAML Islands を使ってみよう

Windows 10 19H1 で XAML Islands が使えるようになりました。 .NET Core 3.0 (まだプレビュー)から使ってみましょう。 WPF プロジェクト (.NET Core) の作成 VS 2019 に .NET Core 3.0 が入った Windows 10 19H1 の環境でさくっと作れます。 作ったら NuG…

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

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

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

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

WPF のビヘイビアーが入ってる Blend SDK for Visual Studio が Visual Studio 2019 で消えた件について

WPF

2017 までは Visual Studio についてきた Blend SDK for Visual Studio でしたが 2019 で消えました。2017 から必須じゃなくてオプションになってたので変だなぁって思ってたんですよ。 id:nuitsjp さんのブログにも書いてありますというか、そのブログを見…

Prism 7.x で DI コンテナ固有の機能を使いたい

Prism 7 系で色々仕様変更がありましたが、その中でも大きな変更のうちの 1 つが DI コンテナにクラスを登録する処理の変更です。今までは各 DI コンテナのクラスを直接触っていましたが IContainerRegistry インターフェースというインターフェースが Prism…

Livet 2.2.0 をリリースしました

しました。 www.nuget.org LivetExtensions も更新しました。 www.nuget.org プロジェクトテンプレートも最新版を初期状態で参照しているように Visual Studio の拡張機能も更新しています。 marketplace.visualstudio.com 変更内容 GitHub のリリースページ…

Livet の .NET Core 3.0 Preview 1 向けの NuGet パッケージと VS2019 Preview の拡張機能を作ってみました

.NET Core 3.0 向けのパッケージ作るのがどれくらい大変なのか試すついでにやってみました。結果は思った以上にさくっと出来ました。 NuGet はこちら。 www.nuget.org VS2019 向けの vsix は GitHub のリリースページからダウンロードできます。 github.com …

.NET Core 3.0 でのデスクトップ開発

先日の Connect(); 2018 で .NET Core 3.0 Preview 1 が出ましたね!そして、前々から噂されてた WPF / Windows Forms のサポートが試せます。まぁ、前々から alpha 版とか使って試せましたが alpha はちょっと…という感じでも Preview なら許容範囲かな?と…

Livet 2.1.0 をリリースしました

Pull Request を送って頂いたので取り込んでリリースしました。 www.nuget.org それに合わせて Visual Studio 拡張機能も更新しています。 marketplace.visualstudio.com 変更点 RaisePropertyChangedIfSet というメソッドを追加しました。以下のように使い…

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 …

Livet v2.0.0 をリリースしました

先日リポジトリを触る権利と nuget のパッケージの更新の権利もらったので pre バージョンを公開してたのですが新たな issue も上がってこないので一旦正式版として公開しました。 marketplace.visualstudio.com プロジェクトテンプレートもありますし。 ア…

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

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

.NET Core 3.0 でデスクトップアプリ開発を試してみる(プレビュー)

.NET Core 3.0 で WPF とかみたいなデスクトップアプリの開発がサポートされるというのが発表されて久しいですが試せる環境が整いつつあります。とりあえず試してみたログです。 まず、.NET Core 3.0 を以下の URL からダウンロードしてインストール github.…

LivetCask v2.0.0-pre1とLivetExtensions v2.0.0-pre1 を公開しました

とりあえずプロジェクトの構造を自分好みにしたのとターゲットフレームワークを現在サポートされている最低バージョンの .NET Framework の 4.5.2 まで上げました。 NuGet 以外は今のところメンテナンスするつもりはありませんが、気が向いたら vsix 作って…

Livet のメンテナーになりました

WPF

まだ権限追加してもらっただけで何もしてないですが尾上さん作の WPF で MVVM で開発するときに国内でよく使われてる Livet のリポジトリに push する権限と nuget にパッケージをアップロードする権限を付けてもらいました。 以下のようなポリシーでやって…

WPF などの .NET Framework のアプリから UWP の API を呼ぶ

同じチームの Matteo さんが書いてくれてた記事に ConditionalAttribute が使ってあって、あぁこういう機能あったなぁと思ったのでメモがてら記事をなぞってやってみました。 Desktop Bridge – Enhancing a desktop application with the UWP APIs – App Con…

C# で何か出来るのか?まとめてみた

C# は好きな言語です。C# 1.0 が 2002 年 4 月に出てからもうすぐ16 年!?になろうとしています。 今でも結構イケてる部類にランキングしてると個人的に思ってる C# ですが何が出来るのか?というのをまとめてみたいと思います。C# をこれから始めようと思…