更新の保留アクティブ化機能を備えたトースト
PendingUpdate を使用すると、トースト通知で複数ステップの対話を作成できます。 たとえば、以下に示すように、後続のトーストがそれまでのトーストへの応答に依存する一連のトースト通知を作成できます。
重要
デスクトップ Fall Creators Update と 2.0.0 の Notifications ライブラリが必要です。保留中の更新作業を表示するには、デスクトップ ビルド 16299 以降を実行している必要があります。 ボタンに PendingUpdate を割り当てるには、UWP Community Toolkit Notifications NuGet ライブラリのバージョン 2.0.0 以降を使用する必要があります。 PendingUpdate はデスクトップでのみサポートされ、他のデバイスでは無視されます。
前提条件
この記事では、読者が以下に関する実用的な知識を持っていることを想定しています。
概要
アクティブ化後の動作として "更新の保留" を使用するトースト通知を実装するには
トーストのバックグラウンドのアクティブ化ボタンで、AfterActivationBehavior に PendingUpdate を指定する
トーストの送信時に Tag (および必要に応じて、Group) を割り当てる
ユーザーがボタンをクリックすると、アプリのバックグラウンド タスクがアクティブ化され、トーストが更新を保留中の状態で画面に表示されたままになる
バックグラウンド タスクで、同じ Tag と Group を使用して、新しいコンテンツを持つ新しいトーストを送信する
PendingUpdate を割り当てる
バックグラウンドのアクティブ化ボタンで、AfterActivationBehavior を PendingUpdate に設定します。 この設定は、ActivationType が Background のボタンでのみ有効であることに注意してください。
new ToastContentBuilder()
.AddText("Would you like to order lunch today?")
.AddButton(new ToastButton("Yes", "action=orderLunch")
{
ActivationType = ToastActivationType.Background,
ActivationOptions = new ToastActivationOptions()
{
AfterActivationBehavior = ToastAfterActivationBehavior.PendingUpdate
}
});
通知で Tag を使用する
後で通知を置換するためには、通知に Tag (および必要に応じて、Group) を割り当てる必要があります。
// Create the notification
var notif = new ToastNotification(content.GetXml())
{
Tag = "lunch"
};
// And show it
ToastNotificationManager.CreateToastNotifier().Show(notif);
トーストを新しいコンテンツと置換する
ユーザーがボタンをクリックすると、それに対してバックグラウンド タスクがトリガーされ、トーストを新しいコンテンツと置換する必要が生じます。 トーストの置換は、同じ Tag と Group を使って新しいトーストを送信するだけで完了します。
ボタンのクリックに対応してトーストを置換する場合、ユーザーは既にトーストと対話しているため、オーディオをサイレント モードに設定することを強くお勧めします。
// Generate new content
ToastContent content = new ToastContent()
{
...
// We disable audio on all subsequent toasts since they appear right after the user
// clicked something, so the user's attention is already captured
Audio = new ToastAudio() { Silent = true }
};
// Create the new notification
var notif = new ToastNotification(content.GetXml())
{
Tag = "lunch"
};
// And replace the old one with this one
ToastNotificationManager.CreateToastNotifier().Show(notif);
関連トピック
Windows developer
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示