none
Display d'une image RRS feed

  • Question

  • Bonjour !

    Mon problème d'aujourd'hui est le suivant : je cherche à afficher une image dans un stackpanel (bon d'accord ce n'est pas un problème en soi de vouloir faire ça...) Pour cela je fais comme ça :

    <Image Height="50" Width="Auto"  HorizontalAlignment="Center" VerticalAlignment="Center">
                    <Image.Source>
                        <BitmapImage DecodePixelHeight="50" UriSource="Assets\icone.png"/>
                    </Image.Source>
                </Image>

    Assets étant un répertoire créé automatiquement par VS11 lors de la création de la solution et qui contient toutes les images (logos de startscreen et splashscreen qui apparaissent correctement)

    De cette manière, le concepteur de VS11 m'affiche l'image voulue à l'endroit voulu comme je l'ai voulu... Mais il m'est impossible de déployer l'application (sur simu ou sur mon pc en local) car il échoue à l'initialisation de la page. J'ai essayé pour l'UriSource de mettre le chemin complet mais là il n'affiche plus rien dans le concepteur et lance l'appli sans image (comme dans le concepteur en fait). A ce moment j'ai pensé que l'uri était trop longue donc j'ai mis l'image voulue au répertoire racine c:\. Même chose il n'a rien affiché que ce soit dans le concepteur ou lors du déploiement... 

    Est-ce que vous auriez une solution ? Je ne pense pourtant pas avoir fait d'erreur mais on ne sait jamais !

    Merci d'avance !

    Modification : lorsque je fais comme je l'ai précisé avec le morceau de code en xaml, j'obtiens l'erreur suivant au niveau de l'initialisation de la page : 

    Failed to assign to property 'Windows.UI.Xaml.Media.Imaging.BitmapImage.UriSource'.


    • Modifié Peaten mardi 22 mai 2012 15:06
    • Déplacé Aurel Bera jeudi 20 septembre 2012 13:17 (Origine :Développement Windows 8 )
    mardi 22 mai 2012 14:41

Réponses

  • J'ai essayé ca :

    <Image  Grid.Row="1" Style="{StaticResource imgCategorie}">
       <Image.Source>
          <BitmapImage DecodePixelHeight="50" UriSource="../Assets/Wild.jpg" />
        </Image.Source>
    </Image>

    Et ca marche très bien chez moi :P

    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    • Marqué comme réponse Peaten jeudi 24 mai 2012 10:42
    jeudi 24 mai 2012 08:28
  • Oui, je suppose que déjà Assets/Wild.jpg marchera alors que Assets\Wild.jpg ne marchera pas :)

    Blog => http://ashworks.fr | Twitter => http://twitter.com/ashura95


    • Modifié Alexis MATHIEU jeudi 24 mai 2012 10:18
    • Marqué comme réponse Peaten jeudi 24 mai 2012 10:42
    jeudi 24 mai 2012 10:17

Toutes les réponses

  • Votre Xaml ne serait pas dans un sous-répertoire par hasard de votre projet ?

    Sinon essayez \Assets\icone.png ou le chemin relatif genre ..\Assets\icone.png


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 23 mai 2012 06:48
  • En effet mon xaml se situe dans un dossier. Quelle est la subtilité que vous sous entendez?
    mercredi 23 mai 2012 07:56
  • J'ai essayé avec les syntaxes : \Assets\icone.png et ..\Assets\icone.png mais j'ai toujours l'erreur...
    mercredi 23 mai 2012 08:00
  • Bizarre, y'a pas de raisons :P

    Projet
    ---->View
    --------->MaView.Xaml
    ---->Assets
    --------->MonImage.png

    Dans MaView.Xaml, on doit avoir ..\Assets\MonImage.png


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 23 mai 2012 08:04
  • C'est bien la structure qui existe dans mes dossiers... J'ai pas de chance faut croire :(

    Est-ce que cela pourrait venir de l'image en soi? Ou bien même de la méthode DecodePixelHeight qui ne fonctionne pas correctement?

    Modification : J'ai réessayer en positionnant ma vue à la racine de la solution mais j'ai toujours le même problème
    • Modifié Peaten mercredi 23 mai 2012 08:42
    mercredi 23 mai 2012 08:40
  • Yo no sé. J'essayerais cette après-midi avec le DecodeMachin (suis sur un projet Win7 ce matin ;-))


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 23 mai 2012 08:42
  • D'accord pas de soucis merci de ton aide Richard :)
    mercredi 23 mai 2012 08:45
  • J'ai essayé ca :

    <Image  Grid.Row="1" Style="{StaticResource imgCategorie}">
       <Image.Source>
          <BitmapImage DecodePixelHeight="50" UriSource="../Assets/Wild.jpg" />
        </Image.Source>
    </Image>

    Et ca marche très bien chez moi :P

    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    • Marqué comme réponse Peaten jeudi 24 mai 2012 10:42
    jeudi 24 mai 2012 08:28
  • Votre style imgCategorie est un style perso ou un style natif?

    Je teste ça dans l'après-midi et je vous tiens au courant (là je fini d'implémenter l'itemtemplateselector d'un autre de mes threads que vous m'avez conseillé...)


    • Modifié Peaten jeudi 24 mai 2012 10:16
    jeudi 24 mai 2012 10:15
  • Oui, je suppose que déjà Assets/Wild.jpg marchera alors que Assets\Wild.jpg ne marchera pas :)

    Blog => http://ashworks.fr | Twitter => http://twitter.com/ashura95


    • Modifié Alexis MATHIEU jeudi 24 mai 2012 10:18
    • Marqué comme réponse Peaten jeudi 24 mai 2012 10:42
    jeudi 24 mai 2012 10:17
  • :D

    Le détail qui tue... Ça fonctionne bien mieux en effet ! Merci à tous les deux Richard et Alexis !

    jeudi 24 mai 2012 10:42
  • Juste pour ma culture personnelle, quelle est la différence d'utilisation entre les deux syntaxes ( différence entre / et \ dans le chemin d'accès) ?

    Merci !

    jeudi 24 mai 2012 11:11
  • Pour moi \ = système de fichiers Windows et \ = unix et web mais c'est certainement la version facile :)

    Blog => http://ashworks.fr | Twitter => http://twitter.com/ashura95

    vendredi 20 juillet 2012 10:07