IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

Source d'une Image dans DataTemplate


Sujet :

Silverlight

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 37
    Par défaut Source d'une Image dans DataTemplate
    Bonjour,

    J'ai un DataTemplate que je charge dans un composant "Pop-up" de DevExpress (DXDialog). Dans ce DataTemplate, je veux insérer une image mais lorsque j'exécute, la place pour l'image est réservée mais l'image n'est pas affichée.
    J'ai essayé différentes uri avec / , ./ , sans rien .... et j'ai meme binder la source via mon ViewModel et impossible d'aficher l'image.

    Pour info, à partir de la racine, le chemin de l'image est Assets/Images/Icones/MonImage.png
    Le DataTemplate est situé dans le fichier Views/MainPage.xaml

    Avez vous des suggestions?

    Cordialement,

    Jean

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    le dossier assets n'est pas inclue dans le projet silverlight c'est ca?
    Il s'agit d'un dossier physique sur le site web?
    Dans ce cas il ne se trouve surement pas au même niveau que le xap silverlight qui lui est dans ClientBin.
    Essayes donc avec
    ../Assets

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 37
    Par défaut
    Le dossier Assets est à la racine du projet Silverlight donc à l'intérieur.
    En gros, dans Projet, j'ai le dossier Views, le dossier ViewModels et le dossier Assets, j'ai aund même essayé avec ../Assets et ça ne fonctionne pas non plus.

    Cordialement,

    Jean

  4. #4
    Invité
    Invité(e)
    Par défaut
    Les URI Relatives sont relatives par rapport au XAP lui-même donc côté client et, si la ressource recherchée ne se trouve pas dans le fichier XAP, au dossier contenant ton XAP (ClientBin la plupart du temps)
    Les URI ne sont pas relatives par rapport à ton site web donc tout fichier et tout dossier ne respectant ce que j'ai dit précédemment ne sera pas accessible avec une URI relative. Du coup ton dossier Assets n'est pas épargné à cette règle.

    Soit tu déplaces ton fichier Xap à la racine de ton site de web (ce que je ne conseille pas) ou soit tu utilises la classe WebClient (du coup tu perds la possibilité de définir ton chemin dans le XAML)

    Peut-être qu'il y a d'autres solutions mais en attendant ce sont les 2 que je vois.

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    C'est vrai que le xap représente la racine et tu ne peux pas faire ../.
    Mais bon là il semble que le fichier est intégré au xap, esssaye en rajoutant :
    /AssemblyName;component/Assets.......
    Ou assemblyName est le nom de ton assembly (celle ou l'image est)!

    Ca c'est si les images sont en build action "resource" , mais tu peux décider de les mettres en "content" et alors le simple /Assets.... devrait fonctionner.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par micka132 Voir le message
    Mais bon là il semble que le fichier est intégré au xap ....
    Bah ! Alors deux petites précisions :
    • Si le fichier est intégré en tant que Contenu (Build Generation = Content) alors le chemin relatif doit marcher.
    • Si le fichier est intégré en tant que Resource (Build Generation = Resource) dans une DLL de ton XAP alors le fichier est accessible comme suit : /AssemblyName;component/Assets....... où AssemblyName est le nom de la DLL.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 37
    Par défaut
    Merci à vous,

    en effet l'utilisation de "/AssemblyName;component/Assets..." fonctionne (j'avais déjà essyé mais avec un s à "components" et ça ne fonctionnait pas, je suis un boulet)

    En revanche, j'ai plusieurs images dans le dossier Icones qui sont intégrées sous forme de Ressource et seulement certaines fonctionnent. Toutes ont les mêmes propriétés et toutes sont des png, je ne vois pas d'où peut provenir la différence. Une idée?

    Merci

    Jean

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/07/2014, 11h37
  2. extraire source d'une image dans un fichier XML
    Par zied87 dans le forum Windows Phone
    Réponses: 5
    Dernier message: 17/08/2011, 11h29
  3. [AC-2007] Source d'une image dans un formulaire continu
    Par vandrie dans le forum IHM
    Réponses: 3
    Dernier message: 16/05/2011, 17h59
  4. Réponses: 4
    Dernier message: 24/09/2008, 17h13
  5. Changer la source d'une image dans un panel
    Par Thomus38 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 12/12/2007, 21h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo