Charger un enum dans une listView

Résolu
Hamster18 Messages postés 176 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
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   Statut Membre Dernière intervention   1 011
 
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 176 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de votre aide =)
0
Utilisateur anonyme
 
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