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 :

récuperer valeur objet d'un databinding


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 31
    Par défaut récuperer valeur objet d'un databinding
    bonjour!

    j'ai une classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class ActionItem
        {
            public string sujet { get; set; }
            public string description { get; set; }
            public string image { get; set; }
            public string url { get; set; }
     
        }
    j'ai une listbox dans un xaml qui bind sur les objets d'une liste mylist<ActionItem>

    pas de pb de binding, tout s'affiche correctement.

    maintenant j'aimerais récuperer la valeur de l'objet sélectionné de la listbox. Donc quand je fais mon clic sur un objet de la listbox j'aimerais récupérer l'attribut " url " de mon objet. Donc je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActionItem action = sender as ActionItem;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActionItem action = (ActionItem)MyListBox.SelectedItem;
    ensuite j'envoie l'adresse url a mon browser par l'intermédiaire d'une fonction que j'ai créé setURL( string )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myBrowser.setURL(action.url);
    Mais ca ne marche pas..... j'ai une erreur sur soit:
    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActionItem action = sender as ActionItem;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActionItem action = (ActionItem)MyListBox.SelectedItem;
    Quelqu'un pour me sortir de cette impasse???
    please ?

    Erawan

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 31
    Par défaut
    veuillez pardonner ma nullité suprême...

    il fallait juste faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Action action = new ActionItem();
    action = (ActionItem) myList.selectedItem;
     
    mybrowser.setUrl(action.url);
    désolé du dérangement

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    euh pas tout à fait... ce que tu as écrit ne sert à rien...

    (ActionItem est bel et bien une classe, il est donc toujours manipulé par Référence!)

    Je m'explique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Action action = new ActionItem(); // Instancie un objet ActionItem et retourne la référence dans action.
    action = (ActionItem) myList.selectedItem; // récupère la référence vers un objet de type ActionItem qui était dans myList.selectedItem.
     
    mybrowser.setUrl(action.url);
    si tu regarde bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Action action = new ActionItem();
    ne sert strictement à rien puisque l'instant d'après tu "oublie" la valeur (qui était une adresse d'objet et non pas un objet) pour y mettre une autre valeur qui s'avère etre une autre adresse d'objet.

    par conséquent il faut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Action action = (ActionItem) myList.selectedItem;
     
    mybrowser.setUrl(action.url);
    en plus avec silverlight, on peut largement utiliser le pattern design MVVM, ce qui t'aurais largement facilité la vie grace au binding twoway !

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

Discussions similaires

  1. Récuperer valeur d'une colonne d'une base de données
    Par Mihalis dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/04/2006, 10h55
  2. Récuperer valeurs d'une checkbox dans la base Mysql
    Par pod1978 dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 10/03/2006, 14h29
  3. Réponses: 12
    Dernier message: 22/01/2006, 18h01
  4. Réponses: 2
    Dernier message: 02/01/2006, 20h56
  5. Réponses: 1
    Dernier message: 27/07/2005, 11h47

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