Charger un enum dans une listView

Résolu/Fermé
Hamster18 Messages postés 177 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - Modifié le 18 avril 2019 à 13:34
 Utilisateur anonyme - 4 mai 2019 à 15:24
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.

2 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
18 avril 2019 à 13:52
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
0
Hamster18 Messages postés 177 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
4 mai 2019 à 14:10
Merci de votre aide =)
0
Utilisateur anonyme
4 mai 2019 à 15:24
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
0