次の方法で共有


トースト ヘッダー

通知のトースト ヘッダーを使用して、Action Center 内で関連する通知のセットを視覚的にグループ化できます。

重要

Desktop Creators Update と 1.4.0 の通知ライブラリが必要です: トースト ヘッダーを表示するには、Desktop ビルド 15063 以降を実行している必要があります。 トーストのコンテンツにヘッダーを作成するには、 UWP Community Toolkit Notifications NuGet ライブラリのバージョン 1.4.0 以降 を使用する必要があります。 ヘッダーはデスクトップでのみサポートされます。

次に示すように、このグループの会話は 1 つのヘッダー "Camping!!" の下に統合されています。 会話内の個々のメッセージは、同じトースト ヘッダーを共有する個別のトースト通知です。

ヘッダーを含むトースト

フライトリマインダー、パッケージ追跡など、カテゴリ別に通知を視覚的にグループ化することもできます。

トーストにヘッダーを追加する

トースト通知にヘッダーを追加する方法を次に示します。

Note

ヘッダーはデスクトップでのみサポートされます。 ヘッダーをサポートしていないデバイスでは、ヘッダーは無視されます。

new ToastContentBuilder()
    .AddHeader("6289", "Camping!!", "action=openConversation&id=6289")
    .AddText("Anyone have a sleeping bag I can borrow?");

概要...

  1. HeaderToastContent に追加します
  2. 必要な IdTitle、および Arguments プロパティを割り当てます
  3. 通知を送信する (詳細情報)
  4. 別の通知では、同じヘッダー Id を使用してヘッダーの下に統合します。 Id は、通知をグループ化する必要があるかどうかを判断するために使用される唯一のプロパティです。つまり、TitleArguments は異なる場合があります。 グループ内の最新の通知の TitleArguments が使用されます。 その通知が削除されると、 TitleArguments は次の最新の通知にフォールバックします。

ヘッダーからのアクティブ化を処理する

ヘッダーはユーザーがクリックできるため、ユーザーはヘッダーをクリックしてアプリから詳細を確認できます。

そのため、アプリは、トースト自体の起動引数と同様に、ヘッダーに Arguments を提供できます。

アクティブ化は、正規トーストのアクティブ化と同じように処理されます。つまりユーザーがトーストの本文またはトーストのボタンをクリックしたときと同様に、App.xaml.csOnActivated メソッドでこれらの引数を取得できます。

protected override void OnActivated(IActivatedEventArgs e)
{
    // Handle toast activation
    if (e is ToastNotificationActivatedEventArgs)
    {
        // Arguments specified from the header
        string arguments = (e as ToastNotificationActivatedEventArgs).Argument;
    }
}

追加情報

ヘッダーは、通知を視覚的に分離してグループ分けします。 アプリが保持できる通知の最大数 (20) と通知リストの先入れ先出し動作に関するその他のロジスティックスは変更されません。

ヘッダー内の通知の順序は次のとおりです。...特定のアプリの場合、アプリからの最新の通知 (ヘッダーの一部の場合はヘッダー グループ全体) が最初に表示されます。

Idには任意の文字列を指定できます。 ToastHeaderのプロパティには、長さや文字の制限はありません。 唯一の制約は、XML トースト コンテンツ全体を 5 KB より大きくできないことです。

ヘッダーを作成しても、[詳細を表示] ボタンが表示される前にアクション センター内に表示される通知の数は変更されません (この数は既定では 3 であり、通知のシステム設定で各アプリのユーザーが構成できます)。

アプリのタイトルをクリックするのと同じようにヘッダーをクリックしても、このヘッダーに属する通知はクリアされません (アプリでは、関連する通知をクリアするためにトースト API を使用する必要があります)。