2 votes

UWP Toast fonctionne, mais les images (AdaptiveImage, ToastGenericHeroImage, ToastGenericAppLogo) ne s'affichent pas.

Je cible Windows 10, la dernière version du système d'exploitation. J'ai copié/collé quelques choses des exemples de toasts adaptatifs de Microsoft, y compris les chemins. Voici mon code:

public void CreateToast(ToastViewModel model)
{
    ToastContent content = new ToastContent()
    {
        Launch = "chaîne-définie-par-l'application",

        Visual = new ToastVisual()
        {
            BindingGeneric = new ToastBindingGeneric()
            {
                Children =
                {
                    new AdaptiveText()
                    {
                        Text = "Partage de photos"
                    },

                    new AdaptiveText()
                    {
                        Text = "Andrew vous a envoyé une photo"
                    },

                    new AdaptiveText()
                    {
                        Text = "Voir en taille réelle!"
                    },

                    new AdaptiveImage()
                    {
                        Source = "https://unsplash.it/360/180?image=1043"
                    }
                },
                HeroImage = new ToastGenericHeroImage()
                {
                    Source = "https://unsplash.it/360/180?image=1043"
                },
                AppLogoOverride = new ToastGenericAppLogo()
                {
                    Source = "https://unsplash.it/64?image=883",
                    HintCrop = ToastGenericAppLogoCrop.Circle
                }
            }
        }
    };

    var toast = new ToastNotification(content.GetXml());
    toast.Failed += (o, args) =>
    {
        var message = args.ErrorCode;
    };

    ToastNotificationManager.CreateToastNotifier().Show(toast);
}

Le toast s'affiche, mais les images ne s'affichent pas. Quelqu'un a une idée?


MODIFIER: Comme @AVK l'a suggéré, j'ai décidé d'essayer en utilisant le XML à la place; malheureusement j'obtiens le même comportement -- le toast s'affiche, mais pas les images. Voici mon code pour ça (bien que j'admette que je connais encore moins le XML, donc ce code pourrait être plus faux):

var template = ToastTemplateType.ToastImageAndText02;
var xml = ToastNotificationManager.GetTemplateContent(template);
var elements = xml.GetElementsByTagName("text");
var text = xml.CreateTextNode(model.Title);
elements[0].AppendChild(text);
var images = xml.GetElementsByTagName("image");
var srcAttribute = xml.CreateAttribute("src");
srcAttribute.Value = "https://unsplash.it/64?image=883";
images[0].Attributes.SetNamedItem(srcAttribute);
var toast = new ToastNotification(xml);
ToastNotificationManager.CreateToastNotifier().Show(toast);

2voto

Nuno Santos Points 21

Les images Http ne sont prises en charge que dans les applications Desktop Bridge qui ont la capacité internet dans leur manifeste. Les applications Win32 classiques ne prennent pas en charge les images http; vous devez télécharger l'image dans vos données d'application locales et y faire référence localement.

1voto

Black Glory Points 818

Ceci est un bug de Windows 10 qui empêche les notifications Toast des applications d'afficher les images.

Exécuter le dépanneur pour les applications Windows pourrait le réparer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X