WinUI3アプリを高DPI(>100%)でappWindow.MoveAndResize()する

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと WinUI3アプリのウインドウサイズを変更するには、AppWindowクラスを使えばよいことが分かった。 ⇒こちら また、WinUI3アプリで、ディスプレイの倍率(DPI)が100%でないときに、とり…

ManualResetEvent / AutoResetEvent で処理を待たせる

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと あるスレッドで行っている処理を、別のスレッドの処理が終わるまで待ってほしい、みたいなケースがあった。なにかよいやり方ないか、調べてみる。 やり方 ManualResetEventもしくはAutoRe…

ライト/ダーク/ハイコントラストの変化時イベントはWinUI3で取れるか?

もくじ https://tera1707.com/entry/2022/02/06/144447#WinUI3 やりたいこと Windowsの設定上で、ライト/ダークモードとハイコントラストのONOFFが変化したときに、なにか処理をしたい。 前提 Windows10 Home 21H1 19043.1706 VisualStudio2022 Community 17…

NUnitでUnitTestする

もくじ https://tera1707.com/entry/2022/02/06/144447#UnitTest やりたいこと WinUI3のexeの中のpublicなものをUnitTestしようと思うと、いつも使っていたMsTest(vstest.console.exe)でテスト実行がどうしてもできなかった。 で、代替を探していたら、NUnit…

.NET MAUIを使ってAndroidで動く天気予報アプリをつくる

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 最近、家でPCを触るときは、いつもウェザーニューズ社の天気予報のyoutubeのライブ動画をずっと見ている。 動画の中で、きれいなお姉さんがお天気を解説してくれているのだが、その動画が…

UnitTestでDependencyInjectionするときの、登録と取り出しの仕方

もくじ https://tera1707.com/entry/2022/02/06/144447#UnitTest やりたいこと 以前の記事で、ServiceCollectionとIocを使って依存objectの登録と取り出しができることが分かった。 しかし、登録は、プログラムの初めの部分で登録したらよいのだろう、という…

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では、左クリックでフライアウトが表示できなかったので、表示できるようにした) が、その時の…