rp_Faraon
@rp_Faraon

Как исправить обработку всех уведомлений по нажатию на одном из них кнопки?

Мне нужно чтобы по нажатию кнопки на уведомлении открывалось приложение, но когда создаю несколько уведомлений и нажимаю на одном из них кнопку запускается несколько приложений в зависимости от того сколько я создал уведомлений.
private void Button_click(object sender, RoutedEventArgs e)
        {
             new ToastContentBuilder()
            .AddArgument("action", "1")
            .AddText("Уведомление")
            .AddText("Уведомление")
            .AddButton(new ToastButton()
            .SetContent("Перейти к уведомлению")
            .AddArgument("action", "2"))
            .Show();

            ToastNotificationManagerCompat.OnActivated += toastArgs =>
            {
                if (toastArgs.Argument.ToString() == "action=2")
                {
                    Process.Start("какое-то приложение");
                    ToastNotificationManagerCompat.History.Clear();
                }
            };
        }

очень странно что когда вызываю очистку уведомлений то ничего не меняется. Нужно чтобы открывалось приложение 1 раз в независимости сколько уведомлений было отправлено .Искал в интернете но ничего не нашёл.
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Dyupich
Можно сделать следующим образом, засунув метод обработки только в Load вашей формы.

//Метод Load WinForm
private void MainWindow_Load(object sender, EventArgs e)
{
ToastNotificationManagerCompat.OnActivated += (toastArgs) =>
{
Process.Start("какое-то приложение");
ToastNotificationManagerCompat.History.Clear();
};
}
// Метод для вызова Toast
private void MainWindowInfo_Click(object sender, EventArgs e)
{
new ToastContentBuilder()
.AddArgument("action", "1")
.AddText("Уведомление")
.AddText("Уведомление")
.AddButton(new ToastButton()
.SetContent("Перейти к уведомлению")
.AddArgument("action", "2"))
.Show();
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы