티스토리 뷰
기존에 사용하던 NotificationsExtensions을 NotificationsExtensions.Portable로 변경 하였는데, 코드에서 에러가 발생을 한다. 에러 내용과 해결 방법을 적어 놓는다.
아래 소스 코드는 Toast Notification Sample에 있는 코드이다.
IToastNotificationContent toastContent = null;
if (templateType == ToastTemplateType.ToastImageAndText01)
{
IToastImageAndText01 templateContent = ToastContentFactory.CreateToastImageAndText01();
templateContent.TextBodyWrap.Text = "Body text that wraps";
templateContent.Image.Src = TOAST_IMAGE_SRC;
templateContent.Image.Alt = ALT_TEXT;
toastContent = templateContent;
}
else if (templateType == ToastTemplateType.ToastImageAndText02)
{
...
}
// Create a toast from the Xml, then create a ToastNotifier object to show
// the toast
ToastNotification toast = toastContent.CreateNotification();
// If you have other applications in your package, you can specify the AppId of
// the app to create a ToastNotifier for that application
ToastNotificationManager.CreateToastNotifier().Show(toast);
위에 굵은 글씨의 CreateNotification()에서 오류가 발생한다. 원인은 해당 메소드는 WinRT 전용이기 때문에 Universal에서는 사용이 않되는 것이다.
그래서, 아래와 같이 수정했다.
public void ToastImageTextShow(string imageUri, string body, string header = null)
{
IToastNotificationContent toastContent = null;
if (header == null)
{
IToastImageAndText01 templateContent = ToastContentFactory.CreateToastImageAndText01();
templateContent.TextBodyWrap.Text = body;
templateContent.Image.Src = imageUri;
templateContent.Image.Alt = imageUri;
toastContent = templateContent;
}
else
{
IToastImageAndText02 templateContent = ToastContentFactory.CreateToastImageAndText02();
templateContent.TextHeading.Text = header;
templateContent.TextBodyWrap.Text = body;
templateContent.Image.Src = imageUri;
templateContent.Image.Alt = imageUri;
toastContent = templateContent;
}
var toastXML = toastContent.GetXml();
var xmlDocument = new XmlDocument();
xmlDocument.LoadXml(toastXML.ToString());
var toast = new ToastNotification(xmlDocument);
ToastNotificationManager.CreateToastNotifier().Show(toast);
}
위에 굵은 글씨 부분이 TostNotification 객체를 생성하는 부분이다.
Windows store app 8.1에서는 오른쪽 상단에 이미지 포함된 토스트 노티피케이션이 출력된다.
Windows Phone 8.1에서는 상단에 이미지 없는 토스트 노티피케이션이 출력된다.
이외에 사운드 변경이나 Long Toast Notifiction 같은 것은 아래 링크를 참고 한다.
Quickstart: Sending a toast notification (XAML)
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh868254(v=win.10).aspx
'UWP & Windows App > Expert' 카테고리의 다른 글
Using the MenuFlyoutPresenter style (0) | 2015.04.28 |
---|---|
Solve BindingExpression error (0) | 2015.04.23 |
Beta testing을 이용해서 오류 수정하기 (0) | 2015.04.13 |
Design time debug in Visual Studio 2013 (0) | 2015.03.10 |
MemoryViewer - Memory leak check (0) | 2014.11.18 |
- Total
- Today
- Yesterday
- #prism
- visual studio 2019
- UWP
- ef core
- uno platform
- Build 2016
- .net 5.0
- Cross-platform
- ComboBox
- #Windows Template Studio
- C#
- XAML
- Always Encrypted
- IOT
- uno-platform
- LINQ
- Microsoft
- #MVVM
- windows 11
- Windows 10
- Behavior
- dotNETconf
- MVVM
- PRISM
- Visual Studio 2022
- Bot Framework
- #uwp
- .net
- WPF
- kiosk
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |