Windows 8 uygulaması geliştirirken kullanıcıyı bilgilendirmek isteyebiliriz. Kullanıcıya sadece bilgi vermek için MessageDialog kullanmak doğru olmayacaktır, kullanıcı bir süre sonra rahatsızlık duymaya başlayacak ve belkide uygulamayı kullanmaktan vazgeçecektir.
Kullanıcıyı bilgilendirmenin daha doğru yolu Toast Notification sistemini kullanmaktır.
Toast Notification sistemini kullanırken dikkat etmemiz gereken ToastTemplateType enum yapısıdır.
MSDN‘de yer alan ToastTemplateType enumeration sayfasından hangi tiplerde toast notification gösterebileceğinizi öğrenebilirsiniz.
using kısmına
Windows.UI.Notifications</pre>
eklemeliyiz. Örnek kullanım;
public static void ShowNotification(string Title, string Message) { const ToastTemplateType template = ToastTemplateType.ToastText02; var toastXml = ToastNotificationManager.GetTemplateContent(template); var toastText = toastXml.GetElementsByTagName("text"); toastText[0].AppendChild(toastXml.CreateTextNode(Title)); toastText[1].AppendChild(toastXml.CreateTextNode(Message)); var toast = new ToastNotification(toastXml); var toastNotifier = ToastNotificationManager.CreateToastNotifier(); toastNotifier.Show(toast); } public static void ShowNotification(string Title, string Message, string ImageFileName) { const ToastTemplateType template = ToastTemplateType.ToastImageAndText01; var toastXml = ToastNotificationManager.GetTemplateContent(template); var toastText = toastXml.GetElementsByTagName("text"); toastText[0].AppendChild(toastXml.CreateTextNode(Title)); toastText[1].AppendChild(toastXml.CreateTextNode(Message)); var toastImage = toastXml.GetElementsByTagName("image"); toastImage.SetAttribute("src", ImageFileName); var toast = new ToastNotification(toastXml); var toastNotifier = ToastNotificationManager.CreateToastNotifier(); toastNotifier.Show(toast); }
Hatta Toast Notification gösterimi esnasında uyarı sesi bile çaldırabiliriz. Bunu yapmak için audio elementini kullanacağız. Sistemde kayıtlı uyarı sesleri;
Örnek kullanım;
public static void ShowNotification(string Title, string Message, string ImageFileName, string SoundName) { const ToastTemplateType template = ToastTemplateType.ToastImageAndText01; var toastXml = ToastNotificationManager.GetTemplateContent(template); var toastText = toastXml.GetElementsByTagName("text"); toastText[0].AppendChild(toastXml.CreateTextNode(Title)); toastText[1].AppendChild(toastXml.CreateTextNode(Message)); var toastImage = toastXml.GetElementsByTagName("image"); toastImage.SetAttribute("src", ImageFileName); var toastAudio = toastXml.GetElementsByTagName("audio"); toastAudio.SetAttribute("src", SoundName); var toast = new ToastNotification(toastXml); var toastNotifier = ToastNotificationManager.CreateToastNotifier(); toastNotifier.Show(toast); } Son olarak, yukarıdaki kodların çalışması için uygulamanın *Package.appxmanifest* dosyasında **Toast Capable** seçeneğine **Yes** değerini vermeyi *unutmamalıyız*
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484