2022-01-01から1年間の記事一覧

UnitTestでDependencyInjectionを利用するときの部品どり

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 以前の記事で、DIするときの勉強をして、ごちゃごちゃいろいろ書いたので、ササっとコピペして使えるように部品どりコードを置いておきたい。 前提 Windows10 Home 21H1 19043.1706 Visua…

同じスレッドの別ウインドウを開く

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと WinUI3は、別ウインドウを開けない?みたいな話を聞いていたが、最近のWinUI3では開けるらしい。 WinUI3 Galleryのサンプルを見て、試してみる。 やりかた WinUI3 Galleryのサンプ…

コードからバインディングを設定する

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと 普段はxamlに書いたコントロールのプロパティに、<TextBlock Text="{x:Bind ViewModel.MyString, Mode=OneWay}"/>のような感じでバインディングを記述するが、コードの中からバインディングがしたくなった。 どうやればいいか?調べたい。 前提 </textblock>…

複数のTaskの終了待ち中にTaskの中で例外が起きたら、いつどこでアプリが落ちるのか

C#

Task関連記事 https://tera1707.com/entry/2022/02/06/144447#Task やりたいこと 以前、「Taskの中で例外が起きた時のキャッチの仕方」で、Taskの中で例外があったときにどうcatchしたらいいかを調べた。 その時は、動き出した直後に例外を起こすようなTask…

generic.xamlにないデフォルトテンプレートのありか(RadioMenuFlyoutItemの場合)

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと あるとき、フライアウトの中にあるラジオボタンの、このマルの部分の形を変えたいなと思った。 ※フライアウトの中身をラジオボタンにしたかったので、<RadioMenuFlyoutItem>を使っている。 で、こちらの</radiomenuflyoutitem>…

ResourceDictionaryから他のResourceDictionaryのリソースを使うとき

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと 知ってる人ならあたりまえやんといわれそうだが、 あるリソースディクショナリから、別のリソースディクショナリにあるブラシを使おうとしたときに、 リソースが見つかりませんと…

ワーカースレッドのコードに、UI部品を更新するコードを書く

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと 画面のスレッドでない処理に、画面の表示更新を行うようなコードを書くと、下記のようなエラーが起きてしまう。 エラーが起きないようにしたい。 やったこと Microsoft.UI.Dispatc…

よく知られたフォルダパスの取り方

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 今ログインしているユーザーのデスクトップとか、ユーザー共通のドキュメントフォルダとかを、パス文字列直打ちではない方法で取得したい。 やったこと WinUI3アプリでは、下記のようにす…

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

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと 以前の記事で、ToggleButtonでフライアウトが表示できるようにした。 (ToggleButtonでは、左クリックでフライアウトが表示できなかったので、表示できるようにした) が、その時の…

WinUI3アプリから、別のDLLに置いてあるResourceDictionaryを使う

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと WinUI3アプリから、同じくWinUI3のライブラリのプロジェクトにおいてあるリソースディクショナリの中のリソースを参照できるようにして、リソースを複数プロジェクトで共用したい…

UnitTestでDependencyInjectionを利用する

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 昔から、UnitTestせねば、自動テストせねば、そのためにDI(DependencyInjection)せねば、、、と思い続けてたのに、どんどん後回しになって全然やってなかったので、まずは簡単にDIの練習…

アプリ自身で自分のテーマ(ダーク/ライト)を変更する

WinUI3関連記事 https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと 以前、アプリ画面上にあるコントロール類を、テーマ(ダーク/ライト/ハイコントラスト)に沿った色でにするということをした。 tera1707.com 今回は、アプリ自身で、自分の…

WinUI3ではStyle.Triggersがないので代替手段でマウスオーバー時の背景色変更する

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと 以前調べた、WPFでStyle.Triggerを使ってマウスオーバー時に背景色を変える方法をWinUI3でもやろうとすると、Style.Triggerがなくなって使えなくなっていた。 WinUI3っで、お手軽…

プライマリスクリーンのサイズの取り方(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…