Menu

Charger un enum dans une listView [Résolu]

Messages postés
29
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
24 mai 2019
-
Bonjour,

Je suis débutante et je cherche à faire une application en WPF. Je veux plus exactement charger les éléments de mon enum dans une listView, cependant quand mon code provoque des erreurs de build et je ne voit pas d'où ça vient ...

Pourriez-vous m'aider s'il-vous-plaît ?

Code XAML

            <ListView ItemsSource="{Binding Genre}">
                <ListView.ItemTemplate>
                    <DataTemplate x:Name="DoubleLineDataTemplate" DataType="local:Recording">
                        <StackPanel Orientation="Horizontal" Height="64">
                            <Ellipse Height="48" Width="48" VerticalAlignment="Center">
                                <Ellipse.Fill>
                                    <ImageBrush ImageSource="Medias/Photos/Genre_horreur.jpg"/>
                                </Ellipse.Fill>
                            </Ellipse>
                            <StackPanel Orientation="Vertical" VerticalAlignment="Center" Margin="12,0,0,0">
                                <TextBlock Text="Horreur"  Foreground="Black" />
                            </StackPanel>
                        </StackPanel>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>



Code C#
namespace WpfApp5.Classes
{
    enum Genre
    {
            Fantastique,
            Dramatique,
            Aventure,
            Thriller,
            Comique,
            Horreur,
            Policier,
            Action,
            Fiction,
            Anime,
        }
    }

Merci d'avance.
Cordialement.
Afficher la suite 

Votre réponse

2 réponses

Messages postés
3387
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
21 mai 2019
902
0
Merci
Bonjour,

Le problème est que Genre est un type, et non pas une collection.
Il faudrait que tu crées une collection de <Genre>, qui les contienne tous (il doit être possible de créer une fonction qui calcule toute seule une telle collection, en jouant avec typeof(Genre).GetFields... mais je n'ai pas ce qu'il faut sous la main pour te donner le code exact.) :
public List<Genre> genres = new List<Genre>
{
    Genre.Fantastique,
    Genre.Dramatique,
...
}

Et cette liste que tu bindes dans ta ListView.

Xavier
Hamster18
Messages postés
29
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
24 mai 2019
-
Merci de votre aide =)
Commenter la réponse de Reivax962
Messages postés
13307
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 mai 2019
341
0
Merci
Bonjour

pour un combobox, j'utilise le code décrit ici https://stackoverflow.com/questions/58743/databinding-an-enum-property-to-a-combobox-in-wpf
Ça doit s'adapter à une listview
Commenter la réponse de Whismeril