XAMLやC#について書いています。
XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。
仮想化がサポートされた ItemsControl みたいなコントロール ItemsRepeater
要素の選択機能とかいらない、もっとシンプルに要素を列挙したいんです!っていうときに ItemsControl 使いますが、こいつは仮想化サポートしてないです。 WinUI に追加された ItemsRepeater は、仮想化がイケる ItemsControl みたいなやつです。 使ってみよう 使い方は ItemsSource に適当なコレクションをバインドする感じです。 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropS…
UWP でマウスに最適化されたサイズのコントロールを使用する
コンパクト!!ついに出てきました。 docs.microsoft.com 使い方 UWP のプロジェクトを作るって Microsoft.UI.Xaml の NuGet パッケージを追加。 そして、以下の ResourceDictinary を適用したい範囲のルートの Resources に設定する。 <ResourceDictionary Source="ms-appx:///Microsoft.UI.Xaml/DensityStyles/Compact.xaml" /> アプリケーション全体に適用したいなら App.xaml が以下のような感じになります。 <Application x:Cl…
Visual Studio で一番費用対効果の高いショートカット「Ctrl + .」
今日は、Visual Studio 2019 Launch Event in Tokyo で登壇してきました。 資料はこちらです。 Visual Studio 2019 の個人的なお勧め機能(発表時点) from 一希 大田 www.slideshare.net とりあえず個人的に便利だと思ってる機能とかを中心に色々話したのですが、その中で一つだけ覚えてもらいたい機能として Ctrl + . のショートカットを紹介しました。 何が起きるの? クイックフィックスを起動するショートカットになります。マウス操作でいうところの電球マークをクリックする操作になります。 出来ること 色んなことが出来ます。…
msix でアプリケーションの更新に対応する(多分 ClickOnce の正当な移行先)
Visual Studio 2019 で UWP や Desktop Bridge アプリのパッケージングをすると msix 形式になってますね。 UWP 自体は VS 2017 の頃からいつからか忘れましたが多分 msix になってたけど Desktop Bridge のほうの Windows パッケージ プロジェクトは appx だった気がする? さて、1 つ前くらいの Windows 10 から .appinstaller という形式のファイルでインストールするとアプリケーションの自動更新に対応できるようになってました。 ただ、勝手にいつの間にかアップデートされてるという感じの挙動でした…
MVVM でイベント引数の値を ViewModel のコマンドに渡す方法
こちらを見て、そういえばさらっと書いてるだけだったなぁと思ったので…。 elf-mission.net イベント引数を ViewModel で使いたい マウス系イベントや選択系イベントは、イベント引数にしか入ってない値とかもあったりして使いたくなりますよね。 まぁ、イベントハンドラーを普通に書いて、そこからコマンド呼んでも大したことはないんですが、一応ライブラリーによっては、仕組みが用意されていたりします。 ReactiveProperty の場合 UWP と WPF 向けに用意しています。 EventToReactiveCommand と EventToReactiveProperty にな…
Azure Bot Services の Web App Bot で作成したボットのソースをダウンロードしてビルドしていると「**」というフォルダーが出来る
こんなやつです。 ちなみにビルドを重ねていくとパスの長さに関するエラーが出ます。 原因 何のためなのか調べてないのですが、EchoBot の csproj ファイルには 以下のような定義が含まれています。 <Import Project="PostDeployScripts\IncludeSources.targets" Condition="Exists('PostDeployScripts\IncludeSources.targets')" /> <Import Project="..\PostDeployScripts\IncludeSources.targets" Condition=…
Azure Bot Services の SDK が v4.3.x にアップデートして色々変わってる件について
噂には聞いてたんですが、ダウンロードしてびっくりしました。 気づいた点をさくっと書いておこうと思います。 因みにリリースノートはこちら。 github.com Controller クラス復活 今まで api/messages エンドポイントを定義するのは Azure Bot Services の SDK が内部的にやってくれてました。これからは ASP.NET MVC Core の Controller を作る感じです。 こんな感じで、Controllers フォルダーに定義されてます。なるほどね。まぁ、今まで ASP.NET MVC とか WebAPI とか Core の MVC とかやっ…
csproj ファイルで特定フォルダー以下のファイルをすべてリンクとしてプロジェクトに追加する方法
一つ上のフォルダーにある HogeHoge\FooBar 以下をコンテンツとしてまるっと Boo フォルダーに追加したい場合は… <ItemGroup> <Content Include="..\HogeHoge\FooBar\**\*.*" LinkBase="Boo" /> </ItemGroup> こんな感じ。
ReactiveProperty v5.4.0 をリリースしました
機能的には変わってません。 System.Reactive を 4.1.3 にしました 余分な依存関係が定義されていたものを削除しました。dll の量が減ると思います。 SetValidateAttribute メソッドで無駄に例外処理を使っていたのが改善されています。 GitHub のリリースノートはこちら。 Release v5.4.0 · runceel/ReactiveProperty · GitHub NuGet はこちら。 www.nuget.org 余談ですが Xamarin Android にて参照追加しただけでビルドエラーになる問題については最新の Xamarin Andro…
Visual Studio でコードを .editorconfig に従って一括フォーマット
Visual Studio 2019 のリリースノートにしれっと入ってる dotnet-format コマンド。 github.com このコマンド一発でインストールできるのが素敵です。 dotnet tool install -g dotnet-format パッケージマネージャーコンソールか立ち上げて dotnet-format って打つだけなのですが、パッケージマネージャーコンソールの起動に若干時間がかかるので Visual Studio のツールの外部ツールに以下のように登録しておくとちょっと捗ります。 Title Format all codes Command dotnet-for…
「ブログリーダー」を活用して、okazukiさんをフォローしませんか?
指定した記事をブログ村の中で非表示にしたり、削除したりできます。非表示の場合は、再度表示に戻せます。
画像が取得されていないときは、ブログ側にOGP(メタタグ)の設置が必要になる場合があります。