私のアプリでは、レコードが正常に更新されたか新しいレコードが追加されたような、特定のアクションが実行されたときにユーザーに通知したいと考えています。 UWPのAndroid Toast.makeTextに類似したものはありますか?UWPアプリで情報トースト通知を作成する方法
5
A
答えて
13
はい、UWPはトースト通知を持っている:)
ここでは、簡単な通知を表示するためのサンプルコードです:あなたはそれをカスタマイズする方法を見つけることができます。この記事では
private void ShowToastNotification(string title, string stringContent)
{
ToastNotifier ToastNotifier = ToastNotificationManager.CreateToastNotifier();
Windows.Data.Xml.Dom.XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
Windows.Data.Xml.Dom.XmlNodeList toastNodeList = toastXml.GetElementsByTagName("text");
toastNodeList.Item(0).AppendChild(toastXml.CreateTextNode(title));
toastNodeList.Item(1).AppendChild(toastXml.CreateTextNode(stringContent));
Windows.Data.Xml.Dom.IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
Windows.Data.Xml.Dom.XmlElement audio = toastXml.CreateElement("audio");
audio.SetAttribute("src", "ms-winsoundevent:Notification.SMS");
ToastNotification toast = new ToastNotification(toastXml);
toast.ExpirationTime = DateTime.Now.AddSeconds(4);
ToastNotifier.Show(toast);
}
を:
0
アンドロイドのような簡単なmakeTextを実現する方法はこちら:
private Windows.UI.Xaml.Controls.Frame frame;
private Windows.UI.Xaml.Controls.Page page;
private Ribo.Smart.App.UserControls.Components.Common.Toast toast;
private DispatcherTimer timer = new DispatcherTimer();
void timer_Tick(object sender, object e)
{
if (toast != null)
((Panel)page.FindName("layoutRoot")).Children.Remove(toast);
toast = null;
timer.Stop();
timer.Tick -= timer_Tick;
}
private void Frame_Navigated(object sender, Windows.UI.Xaml.Navigation.NavigationEventArgs e)
{
if (toast != null)
{
object layoutRoot = page.FindName("layoutRoot");
if (layoutRoot != null)
{
((Panel)layoutRoot).Children.Remove(toast);
page = (Windows.UI.Xaml.Controls.Page)e.Content;
layoutRoot = page.FindName("layoutRoot");
((Panel)layoutRoot).VerticalAlignment = VerticalAlignment.Stretch;
((Panel)layoutRoot).Children.Add(toast);
if (layoutRoot is Grid)
{
toast.SetValue(Grid.RowSpanProperty, 100);
}
}
}
}
public void ShowMessage(string message)
{
frame = (Windows.UI.Xaml.Controls.Frame)Windows.UI.Xaml.Window.Current.Content;
page = (Windows.UI.Xaml.Controls.Page)frame.Content;
frame.Navigated -= Frame_Navigated;
frame.Navigated += Frame_Navigated;
toast = new Ribo.Smart.App.UserControls.Components.Common.Toast();
toast.Message = message;
toast.VerticalAlignment = Windows.UI.Xaml.VerticalAlignment.Bottom;
toast.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Center;
int seconds = message.Length/30;
if (seconds < 2)
seconds = 2;
timer.Interval = new TimeSpan(0, 0, seconds);
timer.Start();
timer.Tick -= timer_Tick;
timer.Tick += timer_Tick;
object layoutRoot = page.FindName("layoutRoot");
if (layoutRoot != null)
{
if (layoutRoot is Grid)
{
toast.SetValue(Grid.RowSpanProperty, 100);
}
((Panel)layoutRoot).Children.Add(toast);
}
}
関連する問題
- 1. Azure通知ハブUWP、UWPトースト通知がアプリを起動しない
- 2. 予定トースト通知UWP
- 3. イベント誘発トースト通知UWP
- 4. Ionicアプリでトースト通知を適切に処理する方法
- 5. ビットマップからのUWPトースト通知イメージ
- 6. WPFデスクトップアプリケーション、Windows 10通知トースト2016(UWPコミュニティツールキット)
- 7. 勝利10アプリ:トースト通知を外す
- 8. トースト通知後にリダイレクトする方法
- 9. Windowsストアでトースト通知を作成するさまざまな方法App
- 10. ToastGenericでデルファイでトースト通知を作成するには
- 11. イオン通知情報
- 12. 通知通知のテキスト情報
- 13. win8でトースト通知またはポップアップ通知を表示する方法は?
- 14. laravelで複数のトースト通知を表示する方法
- 15. UWP - プッシュ通知チャネルの作成エラー
- 16. トースト通知navigate WinRT
- 17. バックグラウンドタスクでトースト通知応答
- 18. バッテリに関する通知バー情報
- 19. 3Dテキスト通知/トーストを表示する方法
- 20. テキストボックスの入力トースト通知をチェックする方法C#
- 21. UWPでC++でグラフィックスカード情報を取得する方法
- 22. UWPクロススレッディング情報
- 23. UWPアプリ内通知(Toast通知と対照的に)
- 24. UWPアプリケーションでWindows資格情報を検証する方法
- 25. トースト通知にIDを追加する
- 26. Androidトースト通知質問
- 27. ネイティブC++のトースト通知リスナー
- 28. Jhipsterのトースト通知(v4)Angular2
- 29. WinJSでUWPでWNS(プッシュ通知)を処理する方法
- 30. アプリがwp8でフォアグラウンドで実行されているときにトースト通知を取得する方法
しかし、私が嫌いな通知センターに入るよりもユーザーがそれを無視した場合は有益な通知ではありません。 –
以下の行を追加してください。 toast.ExpirationTime = DateTime.Now.AddSeconds(4); これは、4秒間の通知を表示し、アクションセンターからも消えます。 –
私は自分の答えを編集しました。 –