Ссылка на значок уведомления о тосте в Windows 10 - PullRequest
0 голосов
/ 24 мая 2019

Я решил выбросить уведомления "baloon" на окнах "old school" и использовать новые Windows 10 родных уведомлений о тостах.

Прямо сейчас я пытаюсь сослаться на иконку для уведомления о тосте. Согласно документации Microsocft ( здесь и здесь ), я должен иметь возможность добавить значок уведомления, подобный этому:

// Get a toast XML template
var toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastImageAndText04);

// Create image element
var image = toastXml.CreateElement("image");
image.SetAttribute("src", "https://picsum.photos/48?image=883");
image.SetAttribute("placement", "appLogoOverride");
toastXml.DocumentElement.AppendChild(image);

Вместо этого появляется значок приложения по умолчанию:

enter image description here

Единственный способ, который действительно работает, - это использовать абсолютный путь к изображению:

"file:///" + Path.GetFullPath("../../Assets/myicon.png");

Это, однако, не удовлетворяет моим потребностям, поскольку мне нужно либо сослаться на значок ресурса или значок из Интернета.

Отсюда и мои вопросы:

  1. Как правильно указать ссылку на веб-изображение (https://picsum.photos/48?image=883) в уведомлении о тостах?
  2. Как правильно ссылаться на значок ресурса?
  3. Какие типы изображений разрешены в значках уведомлений о тостах? Могу ли я сослаться, например, на изображение .svg?

1 Ответ

0 голосов
/ 27 мая 2019

Как правильно ссылаться на веб-изображение (https://picsum.photos/48?image=883) в моем уведомлении о тосте?

Мы могли бы реализовать уведомление о тосте с помощью UWP Community ToolkitПакет уведомлений nuget легко. Если вы хотите сослаться на веб-изображение для AppLogoOverride, создайте экземпляр AppLogoOverride и установите свойство Source, как показано ниже.

Дляпример:

var toastContent = new ToastContent()
{
    Visual = new ToastVisual()
    {
        BindingGeneric = new ToastBindingGeneric()
        {
            Children = 
            {
                new AdaptiveText()
                {
                    Text = "Matt sent you a friend request"
                },
                new AdaptiveText()
                {
                    Text = "Hey, wanna dress up as wizards and ride around on our hoverboards together?"
                }
            },
            AppLogoOverride = new ToastGenericAppLogo()
            {
                Source = "https://unsplash.it/64?image=1005",
                HintCrop = ToastGenericAppLogoCrop.Circle
            }
        }
    },
    Actions = new ToastActionsCustom()
    {
        Buttons = 
        {
            new ToastButton("Accept", "action=acceptFriendRequest&userId=49183")
            {
                ActivationType = ToastActivationType.Background
            },
            new ToastButton("Decline", "action=declineFriendRequest&userId=49183")
            {
                ActivationType = ToastActivationType.Background
            }
        }
    },
    Launch = "action=viewFriendRequest&userId=49183"
};

// Create the toast notification
var toastNotif = new ToastNotification(toastContent.GetXml());

// And send the notification
ToastNotificationManager.CreateToastNotifier().Show(toastNotif);

Как правильно ссылаться на значок ресурса?

Если вы хотите сослаться на значок ресурса и значок ресурса в активахпапку, можно сослаться следующий код.

new AdaptiveImage()
{
   Source = "Assets/Apps/Food/RestaurantMap.jpg"
}

Какие типы изображений разрешены в значках уведомлений о тостах? Могу ли я сослаться, например, на изображение .svg?

Для моего тестирования png , jpg и svg Изображение доступно для уведомлений о тостах.

...