private void TryNextDisplayNotication()
 {
     if (NoticationRequestQueue.TryDequeue(out var payload))
     {
         _CurrentNotication                 = payload;
         LiteNotification.DataContext       = payload;
         LiteNotification.ShowDismissButton = payload.IsShowDismissButton;
         LiteNotification.Show((int)(payload.ShowDuration?.TotalMilliseconds ?? 0));
     }
 }
        private void PushNextNotication(Models.InAppNotificationPayload payload)
        {
            NoticationRequestQueue.Enqueue(payload);

            // 前に表示した通知が時間設定されていない場合には強制非表示
            if (_CurrentNotication != null && _CurrentNotication.ShowDuration == null)
            {
                LiteNotification.Dismiss();
            }
            else
            {
                TryNextDisplayNotication();
            }
        }
 private void LiteNotification_Dismissed(object sender, EventArgs e)
 {
     _CurrentNotication = null;
     (sender as Microsoft.Toolkit.Uwp.UI.Controls.InAppNotification).DataContext = null;
     TryNextDisplayNotication();
 }
 private void OnNotificationRequested(Models.InAppNotificationPayload payload)
 {
     PushNextNotication(payload);
 }