プライマリスクリーンのサイズの取り方(SystemParameters/Screen)

目次 https://tera1707.com/entry/2022/02/06/144447 やりたいこと PCに接続しているディスプレイの大きさ、特にプライマリディスプレイ(1番のディスプレイ)の大きさを知りたい。 で、以前調べたWPFのAPIを使ったやり方以外にも、WinFormsのAPIを使ったやり…

WinUI3アプリのウインドウを、dpiの大きなモニタに移動すると、中のUI部品は大きくなるのに、ウインドウの大きさはそのままになる

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと UWPやWPFのウインドウをdpi=100%のモニターから125%のモニターに移動すると、ウインドウが25%分大きくなり、中の部品も25%分大きくなって、結果いい感じに見えるのだが、WinUI3で…

WinUI3のウインドウのタイトルバーを自由にカスタムしたい

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと 以前書いた「WinUI3のウインドウの最大化ボタン無効化や、ウインドウサイズ変更をしたい」で、ウインドウについている最大化ボタン、最小化ボタンの無効化をどうやるか調べたが、…

パッケージしたアプリの「ローカルフォルダ」にアプリの設定データを保存する

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと 今までWPFアプリを主に触っていたので、UWPで「ユーザーごとに、アプリの設定を保存しておきたい」というときにどうしたらいいか全然わからなかった。 きくところによると、UWPは…

WinUI3のウインドウの最大化ボタン無効化や、ウインドウサイズ変更をしたい

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと WinUI3で作っているアプリの、ウインドウの左上に出ている最大化ボタンを無効にしたり、ウインドウ起動時の大きさを変えたいが、WPFのように一番上のWindowクラスのプロパティをfa…

呼び出し元がUIスレッドかどうかでawaitした後の戻り先スレッドがどう変わるか実験

tera1707.com やりたいこと await HidoukiMethod();の実行後は、.ConfigureAwait(false)をしない限りは同じスレッドに戻ってくると思っていたが、なんだかそうではない動きをしていたプログラムがあった。(wait後、別スレッドに戻っている??) どういうとき…

左クリックでFlyoutを表示できるToggleボタンを作る

WInUI3関連記事 https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと 普通のボタン(Microsoft.UI.Xaml.Controls.Button)にはFlyoutプロパティがあって、そこにFlyoutを入れてやると、 クリックしたときにフライアウトを出すことができる。 今…

ResourceDictionaryの中のリソースを、コードから使いたい

WInUI3関連記事 https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと ResourceDictionaryの中に書いた、もしくは中で使っているリソースを、コードから使いたい。 まずは、ResourceDictionaryの中で使っているColorをコードでも使いたい。 前…

WinUI3でテーマカラー(ダーク/ライト/ハイコントラスト)対応する

WInUI3関連記事 https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと WinUI3で作成するアプリを、Windowsの設定で選べるテーマカラー(ダーク/ライト/ハイコントラスト)ごとに、 ダークは暗めの色、ライトは明るめの色、ハイコントラストは色…

コントロールのマウスオーバー時等の色を変えたい

WInUI3関連記事 https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと WinUI3 各コントロールの見た目の色をいじりたい。 例えば、ボタンのマウスオーバー時の色を自分の好きな色に変えたい。 そのやり方を調べたときに辿った道順をメモする。…

[UWP]UWPアプリでファイルを作成~テキストを読み書き~画像を読み込み

UWP

tera1707.com やりたいこと UWPでファイル/フォルダを開いたり、そこにデータを読み書きする方法を部品どりで置いておきたい。 ※いろんなやり方があると思うが、今回試した方法だけまずはメモする。 ファイルを開く var folderPath = @"C:\Users\Public\Docu…

WinUI3で、文字列リソースを登録してxaml、C#コードから使う(ローカライズ)

WInUI3関連記事 https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと WPFの時にも、文字列リソースを登録してxamlやコードから使ったが、同じことをWinUI3アプリでもやりたい。 やりかた MS公式情報の、下記を元に対応を行う。 ※このページは…

インストールしたパッケージの中のexeをAliasでほかのプログラムから呼べるようにする

WInUI3関連記事 https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと WinUI3で作成したexe(msixでパッケージされたものでインストールしたもの)を、他のプログラムから呼べるようにしたい。 ざっとみたところ、「Alias」というのを付けると、…

インストールしたパッケージの中のexeがスタートアップで起動するようにする

tera1707.com やりたいこと WinUI3で作成したアプリを、スタートアップで起動するようにしたい。 サンプルコード(Package.appxmanifest) Package.appxmanifestに、下記を行う。 <Package>の先頭に、xmlns:desktop=・・・の1行を追加する IgnorableNamespacesに、deskt</package>…

WinUI3でSelfContained=trueでビルドすると出るエラー対処 その3

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 WinUI3でSelfContained=trueでビルドすると出るエラー対処 その1 https://tera1707.com/entry/2022/03/19/000916 WinUI3でSelfContained=trueでビルドすると出るエラー対処 その2 https://tera1…

WinUI3でSelfContained=trueでビルドすると出るエラー対処 その2

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 WinUI3でSelfContained=trueでビルドすると出るエラー対処 その1 https://tera1707.com/entry/2022/03/19/000916 WinUI3でSelfContained=trueでビルドすると出るエラー対処 その2 https://tera1…

WinUI3でSelfContained=trueでビルドすると出るエラー対処

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 WinUI3でSelfContained=trueでビルドすると出るエラー対処 その1 https://tera1707.com/entry/2022/03/19/000916 WinUI3でSelfContained=trueでビルドすると出るエラー対処 その2 https://tera1…

コールバックメソッドで登録したメソッドを呼んでやるようなMockをつくる

tera1707.com やりたいこと 以前の記事でMoqライブラリを使ってUTをする超便利な方法を知ったが、 最近、コールバックのメソッドを登録するためのメソッドを持つクラス、Interfaceがあり、それをMoqでテストしたい、となった。 前回調べたやり方だと、あるメ…

.NET6アプリからUWPのAPI(WinRT API)を使う

tera1707.com やりたいこと 以前、.net frameworkで、UWPのAPIを使うやり方を調べたが、同じことを.NET6でもやりたい。 やり方 .NET6のプロジェクトの対象WIndowsのバージョンを、Windows 10, version 1809にしてやる。 csprojの中の<TargetFramework>を下記のようにすること</targetframework>…

UWP用のデザインツール Fluent XAML Theme Editor を使ってWinUI3アプリのテーマ色を設定する

WInUI3関連記事 https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと Windowsの「色」の設定で、「ライト」「ダーク」が選択できる。 これを切り替えると、例えば設定画面も、下記のように白黒に切り替わる。 この設定に、自分でつくるWinUI3…

VS2022でWinUI3アプリを実装中に、すべてのNugetキャッシュをクリアをすると、ビルド時にエラーが出だした

tera1707.com やりたいこと WinUI3でアプリを作っているときに、ドライブの容量がイッパイイッパイになってきたので少しでも容量削減しようと思い、「すべてのNuGetキャッシュをクリア」を実施した。 そのあとWinUI3アプリをビルドしようとすると、下記のよ…

NavigationViewを使う2(画面遷移時にPageのインスタンスを使いまわす)

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと 前回の記事でNavigationViewを使って、WinUI3アプリの画面遷移を作った。 画面遷移ができたのはよいのだが、遷移するたびに、その画面のPageのインスタンスが新しく作成されてるよ…

複数条件で、コントロールの有効無効を切り替える

tera1707.com やりたいこと ReactivePropertyを使っていないときにやっていたような、複数MultiBindingしたプロパティで条件判定してボタンの有効無効を切り替えるようなことを、ReactivePropertyでやりたい。 やりかた Observable.Merge()、もしくは Combin…

画面とやり取りするための最低限の構成(ReactiveProperty版)

tera1707.com やりたいこと 今まで使ったことがなかったReactivePropertyを使う必要が出てきた。 取り合えず小難しいことはおいておいて、最低限値の表示、ボタン押下時の処理の記述だけやり方メモっておきたい。 今回試した前提 ★全然ReactivePropertyを全…

Moqを使ってUnitTestする

tera1707.com やりたいこと UnitTestをするときに便利だと評判のMoqを使って、UTしたい。 参考になるサイト、サンプルコードを挙げているサイトはやまほどあったが、自分の練習のためと部品取りのために自分のサンプルを置いておきたい。 サンプルコード 取…

WMIでWindowsPCにインストールされたドライバーのバージョンを取得する

tera1707.com やりたいこと お仕事で、windowsPCにインストールされたあるドライバーのバージョンを記録したい、ということがあったのだが、毎回毎回デバイスマネージャーを開いて、対象のドライバを右クリックしてプロパティ開いて、、、とやるのがめんどく…

タスクトレイに常駐するバックグラウンドアプリをつくる

C#

tera1707.com やりたいこと .NET6とC#で、タスクトレイに常駐しているアプリを作りたい。 タスクトレイからコンテキストメニューを開いて、また別のアプリを起動したりしたい。 使うもの VisualStudio2022 C# WPFのプロジェクトテンプレート WinFormsのAPI …

WinUI3プロジェクトをビルドしたexeを直叩きで起動する

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと WinUI3のテンプレートを使ってビルドし、出来上がったexeをダブルクリックしても、アプリ起動しなかった。 exe単独で起動させたい。 前提 2022/02/27時点で試したこと。 2021/11/1…

NavigationViewを使う

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと Xaml-Controls-Gallery をダウンロードして動かせば、動作も見れるしサンプルコードも手に入るが、自分でも動きを簡単に試したい。 できあがり こういう画面をつくる。 画面左の項…

あるデバイスが今WindowsPCにつながってるかどうかを調べる

C++

tera1707.com やりたいこと デバイスマネージャーのデバイスの一覧の中に、特定のデバイスがあるかどうかを探したい。まずは、デバイスマネージャーに出てくる項目を一覧したい。 やり方 やる前メモ 現状、この辺のデバイスがどういう仕組みで動いてるとか、…