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 :

checkbox cocher en silverlight


Sujet :

Silverlight

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Par défaut checkbox cocher en silverlight
    Bonjour

    je débute en silverlight et j'essaye de récupère les checkbox cocher de 1 à 7.
    j'ai tout essayer et ça ne marche pas, voici le code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     for(i=1;i<=7;i++)
       {
           if ((CheckBox)this.Controls["checkBox" + i].IsChecked == true)
                 {
                      //code
                 }
     
       }
    merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 53
    Par défaut
    ou est ce que tu veux récupérer les état de tes checkbox ?

    - dans un event handler ? la ce serait plutot un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((sender as checkbox).IsChecked == true)
    -ou dans une fonction appelé au besoin et qui scrute l'état des composants sur ta page ?
    dans ce cas je passerais plutot par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.children[i].Name = "Chekbox"+ system.convert.tostring(i)
    ou i varie entre 0 et le nombre délément sur ta page this.children.count mais cest pas très optimisé ! la syntaxe this.control je ne connais pas

    Que cherches tu à faire exactement ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Par défaut
    Ben enfaite les checkbox sont les jours de la semaine.
    et en fonction de si les checkbox sont coché ou pas, il les affiches.

    Ceci après le clique sur le bouton "Rafraîchir".

    merci pour ta réponse.

  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
    C'est pas this.Controls mais tonPanel.Children.

    Sinon tu peux utiliser du Binding c'est carrément plus facile.

    Tu te crées une classe Day avec 2 propriété Name et Enabled et ensuite tu bind le Enabled sur le Check de tes CheckBox.

    Quand tu veux savoir ce qui est coché tu parcoures ta List<Day> et tu regardes les valeurs de Enabled.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Par défaut
    Est-ce que tu aurais des liens ou des exemples car j'ai essayais avec monpanel.Children mais sa ne marche pas.

    et l'autre solution je vois pas trop ce que c'est.

    merci d'avance

  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
    Citation Envoyé par france38 Voir le message
    et l'autre solution je vois pas trop ce que c'est.
    Pour ça il faut développer en Silverlight. Il faut même que tu oublies tout ce que utilisais en Winforms, plus rien n'est valable en Silverlight.

    http://broux.developpez.com/articles...silverlight-2/
    http://broux.developpez.com/articles...g-silverlight/

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Par défaut
    Pour ça il faut développer en Silverlight. Il faut même que tu oublies tout ce que utilisais en Winforms, plus rien n'est valable en Silverlight.
    Oui ben le problème est la, ça fais déjà pas longtemps que j'ai commencer le c# avec les winforms. Mais dans silverlight je retrouve rien, j'ai déjà eu du mal a faire un drag and drop.

    Tu trouve ça plus simple le Binding? Par-ce-que moi je croyais pouvoir faire ma petite boucle. j'ai essayais comme tu ma dit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for(i=1;i<=7;i++)
        {
           if ((CheckBox)grid3.Children["checkBox"+i].IsChecked== true)
              {
                  //code
               }
        }

  8. #8
    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
    Oui oui tu peux faire ça mais on perd l'esprit du développement WPF/Silverlight où on essaie de séparer au maximum interface et code.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Par défaut
    Oui mais ça ne marche pas.
    J'ai tous essayé même google déprime.

  10. #10
    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
    Tiens je t'ai préparé un petit code tout simple

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    public static class Week
    {
        public static IEnumerable<Day> Days
        {
            get
            {
                return new Day[] 
                {
                    new Day("Lundi"),
                    new Day("Mardi"),
                    new Day("Mercredi"),
                    new Day("Jeudi"),
                    new Day("Vendredi"),
                    new Day("Samedi"),
                    new Day("Dimanche")
                };
            }
        }
    }
     
    public class Day
    {
        public string Name { get; set; }
        public bool IsEnabled { get; set; }
     
        public Day(string name)
        {
            Name = name;
        }
    }

    Le code XAML

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <Grid x:Name="LayoutRoot" Background="White">
        <StackPanel>
            <ItemsControl ItemsSource="{Binding}">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <CheckBox Content="{Binding Path=Name}" IsChecked="{Binding Path=IsEnabled, Mode=TwoWay}" />
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
            <Button Content="Clic" Click="Button_Click" />
        </StackPanel>
    </Grid>

    Et le code behind de l'interface

    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
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
     
            this.Loaded += new RoutedEventHandler(MainPage_Loaded);
        }
     
        void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            this.DataContext = Week.Days;
        }
     
        private void Button_Click(object sender, RoutedEventArgs e)
        {
        }
    }

    Maintenant pour savoir quels sont les jours coché, tu n'as qu'à parcourir les Days de la classe Week et de regarder la valeur IsEnabled.

    Tu vois le peu de ligne que ça donne ?

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Par défaut
    Enfaite le but est de réaliser un calendrier du genre outlook par contre j'ai pas réussi à faire le composant.
    Du coup j'ai pris une grid avec 7 lignes et 12 colonnes, et il y a 7 label sur la colonne 0 du grid pour les jours, et 12 en haut pour les heures.
    Sauf que maintenant le truc dois être dynamique donc si je coche lundi, mardi, mercredi, jeudi, vendredi et que je clique sur "Rafraichir" eh ben le label samedi et dimanche doivent disparaitre.

    J'ai mis label1 pour lundi, label2 mardi ect pareil pour les checkbox.
    c'est pour cela que je voudrais faire fonctionner ma boucle.

    Tu vois le peu de ligne que ça donne ?
    oui je suis d'accord, mais j'aime pas trop prendre du code que je ne comprend pas parfaitement. et je c'est déjà comment je vais faire pour après c'est ca qui me bloque enfaite.

Discussions similaires

  1. [E-07] checkBox -> cocher et decocher
    Par HqSeO dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/01/2009, 17h13
  2. Réponses: 8
    Dernier message: 13/08/2008, 10h07
  3. Liste de checkbox : cocher/decocher
    Par sebhm dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 13/12/2006, 18h08
  4. [POO] Définir le nombre max de case d'un checkbox à cocher
    Par delma dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 06/11/2006, 17h36
  5. [VB.NET] Datagrid + CheckBox : Cocher toutes les cases
    Par sirex007 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 24/05/2004, 15h33

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