WPF (.NET6) でトースト表示をテストしてみた内容を記録します。
かつてのトースト表示は、アプリケーションをパッケージ化したり証明書が必要であったりしたため、利用には面倒がありました。 現在は、かなりの面倒がなくなっており、ちょっとした通知の実装の際はおススメできるかもしれないです。
NuGet
.csproj
を直接メモ帳で開くTargetFramework
の Windows をnet*.0-windows10.0.17763.0
に変更
- VisualStudio を再起動
- Microsoft.Toolkit.Uwp.Notifications を追加
基本的な通知
var imageUri = System.IO.Path.GetFullPath(@"Images\info.png"); new ToastContentBuilder() .AddText("テストタイトル") .AddText("テキスト") .AddAppLogoOverride(new Uri(imageUri)) .AddButton(new ToastButton().SetContent("OK")) .Show();
WPF の場合は、ローカルの画像をこのように単純なファイル指定で利用することができます。
トーストの UI は Add + 「コントロール」のメソッドを使っていくつもコンテンツを追加していくことができます。基本的には:
- テキスト
- 画像
- ボタン
- 効果音
- テキストボックス、コンボボックスのような対話型コントロール
トーストによる通知は、Windows が通知した履歴を長期間保管しているものではないので、一度クリアしてしまうと再表示できないです。基本的には、アプリケーションをアクティブウィンドウとして利用していないときに、メッセージを配信する用途で利用されるくらいの想定みたいです。(Microsoft Docs 参照)
通知の明示的な削除
通知は、ユーザーがマニュアルで削除するか、以下のコマンドで削除するなど。
ToastNotificationManagerCompat.History.Clear();
サンプル
作成したサンプルを公開します。