私のアプリでは、レコードが正常に更新されたか新しいレコードが追加されたような、特定のアクションが実行されたときにユーザーに通知したいと考えています。 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. WPFデスクトップアプリケーション、Windows 10通知トースト2016(UWPコミュニティツールキット)
- 4. 勝利10アプリ:トースト通知を外す
- 5. トースト通知後にリダイレクトする方法
- 6. 通知通知のテキスト情報
- 7. win8でトースト通知またはポップアップ通知を表示する方法は?
- 8. UWP - プッシュ通知チャネルの作成エラー
- 9. トースト通知navigate WinRT
- 10. バックグラウンドタスクでトースト通知応答
- 11. バッテリに関する通知バー情報
- 12. UWPクロススレッディング情報
- 13. テキストボックスの入力トースト通知をチェックする方法C#
- 14. 3Dテキスト通知/トーストを表示する方法
- 15. WinJSでUWPでWNS(プッシュ通知)を処理する方法
- 16. UWPでプッシュ通知
- 17. ネイティブC++のトースト通知リスナー
- 18. Androidトースト通知質問
- 19. アプリがwp8でフォアグラウンドで実行されているときにトースト通知を取得する方法
- 20. apache ofbizで成功通知を作成する方法
- 21. UWPバックグラウンドプッシュ通知
- 22. バックグラウンドタスクでトースト通知のタイトルを取得
- 23. Swift - 初めてのアプリ起動ローカル通知を作成する方法
- 24. UWPのアクションセンターからトースト通知が削除されたときのトーストのタイトルを取得
- 25. 通知センターウィジェットの作成方法(iOS 5)
- 26. メール通知/アラートの作成方法
- 27. Androidトーストfor UWP
- 28. wpfアプリケーションで画像に関する情報を知る方法
- 29. アンドロイドでカスタム通知レイアウトを作成する方法は?
- 30. Windowsで通知バルーンを作成する方法は?
しかし、私が嫌いな通知センターに入るよりもユーザーがそれを無視した場合は有益な通知ではありません。 –
以下の行を追加してください。 toast.ExpirationTime = DateTime.Now.AddSeconds(4); これは、4秒間の通知を表示し、アクションセンターからも消えます。 –
私は自分の答えを編集しました。 –