2017-09-15 3 views
2

Je cible Windows 10, la dernière version du système d'exploitation. J'ai copié/collé des éléments des exemples de toasts adaptatifs de Microsoft - y compris les chemins. Voici mon code:UWP Toast fonctionne, mais les images (AdaptiveImage, ToastGenericHeroImage, ToastGenericAppLogo) ne pas afficher

public void CreateToast(ToastViewModel model) 
{ 
    ToastContent content = new ToastContent() 
    { 
     Launch = "app-defined-string", 

     Visual = new ToastVisual() 
     { 
      BindingGeneric = new ToastBindingGeneric() 
      { 
       Children = 
       { 
        new AdaptiveText() 
        { 
         Text = "Photo Share" 
        }, 

        new AdaptiveText() 
        { 
         Text = "Andrew sent you a picture" 
        }, 

        new AdaptiveText() 
        { 
         Text = "See it in full size!" 
        }, 

        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 grillage s'affiche, mais pas les images. Quelqu'un a une idée?


EDIT: Comme @AVK suggéré j'ai décidé de donner un coup de feu en utilisant XML à la place; Malheureusement, j'ai le même comportement - des toasts, mais pas d'images. Voici mon code pour cela (il est vrai que je sais encore moins sur XML, de sorte que ce code pourrait être mal-er):

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); 
+0

cela fonctionne-t-il lorsque vous créez un fichier XML réel? – AVK

+0

@AVK bonne question; Je vais vérifier cela – codeMonkey

+0

@AVK mis à jour avec l'exemple XML – codeMonkey

Répondre

1

Ceci est un bug de Windows 10 qui provoque la notification Toast pour les applications pour ne pas montrer les images.

Run the troubleshooter for Windows apps pourrait résoudre le problème.

+0

Merci! Avez-vous un lien à partager par hasard sur le bug? – codeMonkey

+1

@codeMonkey Malheureusement, je n'ai trouvé aucun détail utile sur ce bogue, c'est pourquoi je vais trouver cette page StackOverflow. –