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

Windows Presentation Foundation Discussion :

RadioButton dans un listbox : IsEnable=False


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Par défaut RadioButton dans un listbox : IsEnable=False
    Bonjour !

    Je fais mon apprentissage en WPF et là s'essaie de manipuler cette source : http://www.codeproject.com/KB/WPF/RadioListBoxWPF.aspx

    Bon pour le moment je comprend pas encore grand chose mais son code est ce que je cherchais (PS : en winform j'irai à l'heure actuel 10x plus vite dans mes dév. mais je crois au WPF ... alors je m'accroche tant bien que mal )

    Cependant je cherche à faire d'un RadioButton accepte la propriété IsEnable=False

    Quelqu'un peut me donner des pistes ?
    Par avance merci pour toute aide

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    bien sur les radiobutton tu as le ischecked
    maintenant je sais pas trop ce que tu veux faire

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Par défaut
    En fait j'affiche une liste où certains items ne sont pas disponible (suivant un choix précédant de utilisateur)
    exemple :


    avec le control que j'ai trouvé, on ajoute des items sans pouvoir y placer des propriété comme IsEnable ; ca se fait comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    this.RadioListBox1.ItemsSource = 
           "one,two,three,four,five,six,seven,eight,nine,ten,eleven,twelve".Split(',');
    Je trouvais cette source très bien car dynamique via le usercontrol et le ScrollBar qui s'affiche selon le nombre de choix...
    Malheureusement ItemsSource ne semble pas pouvoir accepter un ajout avec de telle possibilité. J'ai cherché à comprendre la source (qui en fait a très peu de code mais encore trop vu ma connaissance)

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    pour faire bien il faudrait que tu cree un objet pour chaque élément a partir de ton split
    qui possede un isenabled et un ischecked
    et tu fourni une observable collection de ces elements a ton item source
    de la listebox
    tu n'oublira pas de mettre un inotifypropertychanged sur la classe de ces element

    éventuellement tu crée une factory spécifique pour passer de ta string a la collection

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Par défaut
    Merci de ton aide
    J'avais essayé cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    string[] macoll = "one,two,three,four,five,six,seven".Split(',');
    for (int i = 0; i < macoll i++)
    {
        RadioButton rb = new RadioButton();
        rb.Content = macoll
        rb.IsEnabled = (i % 2 == 0) ? true : false; //alternance pour tester
        this.RadioListBox1.Items.Add(rb);
    }
    qui bien sur donne ce résultat :

    Mais c'est peut être pas ce que tu m'expliques... ma connaissance étant encore très limitée ; faut que j'approfondisse donc mes recherches sur inotifypropertychanged et créer une factory

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    je te fais un exemple tu vas voir c'est plus simple lol

    voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      ArrayList al = new ArrayList();
                string[] ss = "one,two,three,four,five,six,seven,eight,nine,ten,eleven,twelve".Split(',');
                foreach (string s in ss)
                {
                    al.Add(new ZInfo { Name = s, IsEnabled=true });
                }
                (al[0] as ZInfo).IsChecked = true;
                (al[3] as ZInfo).IsEnabled = false;
                this.listBox2.ItemsSource = al;
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      public class ZInfo
        {
            public string Name { get; set; }
            public bool IsChecked { get; set; }
            public bool IsEnabled { get; set; }
        }
    bon j'ai pas mis le inotify... mais dans ce cas tu pourra pas intervenir directement a partir de la classe

    en en xaml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     <ListBox HorizontalAlignment="Right" Margin="0,134,98,44" Name="listBox2" Width="183" >
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <RadioButton Content="{Binding Name}" IsChecked="{Binding IsChecked}" IsEnabled="{Binding IsEnabled}" />
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
    voila

    et si tu veux que les radio bouton soient dans le meme groupe
    tu rajoute le group name comme ca (le nom tu met ce que tu veux )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            <ListBox HorizontalAlignment="Right" Margin="0,134,98,44" Name="listBox2" Width="183" >
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <RadioButton Content="{Binding Name}" IsChecked="{Binding IsChecked}" IsEnabled="{Binding IsEnabled}" GroupName="alpha" />
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

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

Discussions similaires

  1. radiobutton dans une listbox
    Par ola-oz dans le forum C#
    Réponses: 8
    Dernier message: 25/08/2010, 14h46
  2. Utiliser la scrollbar dans listbox enabled=false
    Par Peper89 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/06/2008, 15h16
  3. [debutant] supprimer elements dans une listbox
    Par F.F. dans le forum C++Builder
    Réponses: 8
    Dernier message: 02/07/2004, 11h38
  4. [WIN32]tabulation dans une listbox
    Par stoluup dans le forum MFC
    Réponses: 2
    Dernier message: 09/06/2004, 10h11
  5. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25

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