Createtextnode | Engin Polat\'ın Windows 8 , Windows Phone 8 ve C# içerikli programcılık sitesi

Arşiv

Etiketlenen yazılar createtextnode

Windows 8 uygulamasında Toast Notification göstermek

19 November 2014 Yorum yapılmamış

Windows 8 için geliştirdiğiniz uygulamada kolayca toast notification gösterebilmek için yapmanız gerekenler aslında çok basit.

Öncelikle Windows.UI.Notifications namespace‘inde yer alan ToastNotificationManager sınıfının static olan GetTemplateContent() method’unu ToastTemplateType enum‘ından bir değer ile çağırıyoruz ve geri dönen XmlDocument tipindeki cevabı bir değişkende saklıyoruz;

var template = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText01);

GetTemplateContent() methodunu ToastTemplateType.ToastText01 parametresi ile çağırdığımızda aşağıdaki cevabı alıyoruz;

<toast>
	<visual>
		<binding template="ToastText01">
			<text id="1"></text>
		</binding>  
	</visual>
</toast>

text isimli element’i bulup, içine toast notification‘da göstermek istediğimiz metni yazıyoruz;

var elements = template.GetElementsByTagName("text");
elements[0].AppendChild(template.CreateTextNode("çok önemli mesaj!"));

Artık yapmamız gereken elimizdeki template değişkenini kullanarak yeni bir ToastNotification nesnesi oluşturmak;

var toast = new ToastNotification(template);

Son olarak ToastNotificationManager sınıfının static CreateToastNotifier() methodunu ve gene static olan Show() methodunu çağırmamız yeterli;

ToastNotificationManager.CreateToastNotifier().Show(toast);

ToastTemplateType enum‘ının diğer değerleri ve metin dışında resim de içerebilen template’lerinin listesi için MSDN‘deki The toast template catalog sayfasına bakabilirsiniz.

Windows 8 Uygulamalarda Toast Notification Kullanımı

13 December 2012 1 yorum

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

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;

  • ms-winsoundevent:Notification.Default
  • ms-winsoundevent:Notification.IM
  • ms-winsoundevent:Notification.Mail
  • ms-winsoundevent:Notification.Reminder
  • ms-winsoundevent:Notification.SMS
  • ms-winsoundevent:Notification.Looping.Alarm
  • ms-winsoundevent:Notification.Looping.Alarm2
  • ms-winsoundevent:Notification.Looping.Call
  • ms-winsoundevent:Notification.Looping.Call2

Ö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