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 :

Converter, aucune réaction


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de 1tsiMat
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut Converter, aucune réaction
    Bonjour,

    Je ne comprends vraiment pas pourquoi mon converter n'est pas pris en compte...

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <TextBlock Text="{Binding Description, Converter={StaticResource ListConverter}}" FontFamily="Portable User Interface" TextWrapping="Wrap" Foreground="#FFFFFFFF" x:Name="linkDescription"/>

    Et mon converter

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    namespace LinkComponent
    {
        public class ListConverter : IValueConverter
        {
            #region IValueConverter Members
     
            object IValueConverter.Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                string temp = (String)value;
                temp += " Je test en rajoutant une phrase";
                return temp;
            }
     
            object IValueConverter.ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                throw new NotImplementedException();
            }
     
            #endregion
        }
    }

    Normalement cela devrait fonctionner, à moins que je m'y prends mal pour modifier ma value mais bon...
    Aucune référence n'est ajoutée dans mon UserControl puisque ListConverter se trouve dans le même projet.
    Je suis allé voir l'article de broux et le converter est fait comme le mien...

    Merci

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Est-ce que tu as bien mis le DataContext sur ton TextBlock ?

    Je n'ai aucun problème avec ce code :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Test
    {
        public string Text { get; set; }
    }
     
    void Page_Loaded(object sender, RoutedEventArgs e)
    {
        this.DataContext = new Test { Text = "silverlight" };
    }

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <UserControl.Resources>
        <local:TestConverter x:Key="converter" />
    </UserControl.Resources>
    <Grid x:Name="LayoutRoot" Background="White">
        <TextBlock Text="{Binding Text, Converter={StaticResource converter}}" />
    </Grid>

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public class TestConverter : IValueConverter
    {
        #region IValueConverter Members
     
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value is string)
            {
                return value + " ça roxx";
            }
            return null;
        }
     
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
     
        #endregion
    }

  3. #3
    Membre confirmé Avatar de 1tsiMat
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    Text="{Binding Description, Converter={StaticResource ListConverter}}"

    Cela ne suffit pas normalement?

    Par contre, je ne vois pas comment adapter ton code C# au mien (mon Binding est fait à partir d'un fichier XML)

  4. #4
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par 1tsiMat Voir le message
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    Text="{Binding Description, Converter={StaticResource ListConverter}}"

    Cela ne suffit pas normalement?
    Suffit pour quoi ? Tu vois bien que j'ai fait que ça moi aussi.

    Par contre, je ne vois pas comment adapter ton code C# au mien
    Il n'y a rien à adapter c'est la même chose

    (mon Binding est fait à partir d'un fichier XML)
    Et alors ? Montre moi la ligne où tu mets le DataContext ou le ItemsSource de ton contrôle avec les objets que tu veux afficher.

    Tu dois avoir une ligne quelque part avec ça.

  5. #5
    Membre confirmé Avatar de 1tsiMat
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut
    Citation Envoyé par Skyounet Voir le message
    Suffit pour quoi ? Tu vois bien que j'ai fait que ça moi aussi.
    Bah oui c'est bien pour cela que je ne comprends pas :/

    Citation Envoyé par Skyounet Voir le message
    Et alors ? Montre moi la ligne où tu mets le DataContext ou le ItemsSource de ton contrôle avec les objets que tu veux afficher.

    Tu dois avoir une ligne quelque part avec ça.
    En fait mon TextBlock est dans une ListBox (ce qui ne change rien je pense)

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <ListBox x:Name="itemLink" ItemsSource="{Binding Links}" Background="#FF353535" ItemContainerStyle="{StaticResource linkListStyle}" BorderThickness="0,0,0,0">
                                <ListBox.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel Orientation="Vertical">
                                            <TextBlock Text="{Binding Description, Converter={StaticResource ListConverter}}" x:Name="linkDescription" Width="660"/>
                                        </StackPanel>
                                    </DataTemplate>
                                </ListBox.ItemTemplate>
                            </ListBox>

    Mon code pour ItemsSource
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    XmlSerializer serializer = new XmlSerializer(typeof(LinkCategoryCollection));
    LinkCategoryCollection collection = (LinkCategoryCollection)serializer.Deserialize(e.Result);
    itemLink.Items.Clear();
    itemLink.ItemsSource = collection;

    Merci pour ta patience

  6. #6
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Bon je vois pas de problème...

    Tu as bien déclaré ton Converter dans tes Resources ?

    Si oui, pourrais-tu partager ta solution ?

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

Discussions similaires

  1. Bug : aucune réaction de la console
    Par Sayanel01 dans le forum Scilab
    Réponses: 3
    Dernier message: 20/08/2015, 22h12
  2. Aucune réaction au clic
    Par Thyronia dans le forum jQuery
    Réponses: 1
    Dernier message: 09/06/2015, 08h24
  3. Aucune réaction avec INTENT ACTION_CALL
    Par herzak dans le forum Android
    Réponses: 2
    Dernier message: 27/11/2013, 01h19
  4. Plus aucune réaction de l'émulateur
    Par tomy137 dans le forum Android
    Réponses: 2
    Dernier message: 07/12/2012, 13h53

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