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 :

[C#][VS 2010][Silverlight] ObservableCollection [Débutant(e)]


Sujet :

Silverlight

Vue hybride

cescu [C#][VS 2010][Silverlight]... 17/11/2011, 13h44
cescu Pouvez-vous me dire si je... 18/11/2011, 10h45
cescu je me réponds parce-que j'ai... 18/11/2011, 15h09
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 206
    Par défaut [C#][VS 2010][Silverlight] ObservableCollection
    Bonjour,

    dans un post précédent j'avais besoin d'utiliser une ListBoxDragDropTarget et j'avais appris grâce à une personne d'ici qu'il fallait que j'utilise une ObservableCollection. J'ai réussi et ça marche. Maintenant j'aimerais, une fois les éléments déplacés dans la deuxième listbox, lister tous ces éléments déplacés. Depuis ce matin que j'essaye mais je n'y arrive pas. La lisbox listeArretesListBoxMain contient les éléments de départ et ce sont ceux de listeArretesListBoxMain2 que je veux afficher. Pouvez-vous m'aider?

    Merci


    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
    private void GetArreteOpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
            {
                if (e.Error != null || e.Cancelled)
                {
                    MessageBox.Show("Erreur lors de la lecture des arrêtés");
                    return;
                }
     
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(MesArretes));
                monArrete = serializer.ReadObject(e.Result) as MesArretes;
                listeArretesListBoxMain.ItemsSource = monArrete.mesArretes;
     
     
                ObservableCollection<Arretes> _MyObject = new ObservableCollection<Arretes>();
     
                for (int i = 0; i < monArrete.mesArretes.Length; i++)
                {
                    _MyObject.Add(new Arretes { libelleArrete = monArrete.mesArretes[i].libelleArrete });
                }
                listeArretesListBoxMain.ItemsSource = _MyObject;
                listeArretesListBoxMain.SelectedIndex = 0;
            }


    Code xaml : 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
         <Grid Height="181" HorizontalAlignment="Left" Grid.Row="1" Name="grid6" VerticalAlignment="Top" Width="1168">
                        <StackPanel Orientation="Horizontal" Margin="10" Grid.Row="0">
                            <toolKit:ListBoxDragDropTarget AllowDrop="True" >
                                <ListBox x:Name="listeArretesListBoxMain" BorderThickness="5"
                                     DisplayMemberPath="libelleArrete" Height="147" Width="494">
                                <ListBox.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <StackPanel Orientation="Vertical" />
                                    </ItemsPanelTemplate>
                                </ListBox.ItemsPanel>
                            </ListBox>
                        </toolKit:ListBoxDragDropTarget>
                        <TextBlock Width="20" />
                        <toolKit:ListBoxDragDropTarget AllowDrop="True">
                                <ListBox x:Name="listeArretesListBoxMain2" DisplayMemberPath="libelleArrete" 
                                         BorderThickness="4" Height="147" Width="453" 
                                         HorizontalAlignment="Left" SelectionChanged="listeArretesListBoxMain2_SelectionChanged">
                                <ListBox.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <StackPanel Orientation="Vertical" />
                                    </ItemsPanelTemplate>
                                </ListBox.ItemsPanel>
                            </ListBox>
                        </toolKit:ListBoxDragDropTarget>
                    </StackPanel>
     
                </Grid>

  2. #2
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 206
    Par défaut
    Pouvez-vous me dire si je dois passer par une observableCollection pour lister les informations de listeArretesListBoxMain2?

    Merci

  3. #3
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 206
    Par défaut
    je me réponds parce-que j'ai trouvé une solution qui me semble peu élégante. Elle a le mérite de fonctionner et je m'en satisfaits. Je la laisse pour ceux qui pourraient rencontrer le même problème que moi. Si quelqu'un ici trouve quelque chose de mieux, je suis preneur.

    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
    private void button1_Click(object sender, RoutedEventArgs e)
            {
                string[] destination = new string[listeArretesListBoxMain2.Items.Count];
     
                int cpt = listeArretesListBoxMain2.Items.Count;
                listeArretesListBoxMain2.SelectedIndex = 0;
                var libelles = listeArretesListBoxMain2.SelectedItem as Arretes;
                destination[0] = libelles.libelleArrete.ToString();
     
     
                for (int i = 1; i < cpt ; i++)
                {
                    listeArretesListBoxMain2.SelectedIndex = i;
                    libelles = listeArretesListBoxMain2.SelectedItem as Arretes;
                    destination[i] = libelles.libelleArrete.ToString();
                }
     
                for (int i = 0; i < cpt; i++)
                {
                    MessageBox.Show("L'élément " + i + " est " + destination[i]);
                }
            }
    Merci encore.

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

Discussions similaires

  1. [C#][VS 2010][Silverlight] Comment gérer un événement
    Par cescu dans le forum Silverlight
    Réponses: 2
    Dernier message: 25/10/2011, 15h08
  2. Réponses: 8
    Dernier message: 21/10/2011, 13h31
  3. [Débutant] Probleme avec un fichier [C# Visual Studio 2010 Silverlight]
    Par cescu dans le forum C#
    Réponses: 6
    Dernier message: 26/09/2011, 11h20
  4. Réponses: 13
    Dernier message: 27/05/2011, 22h08
  5. Réponses: 4
    Dernier message: 19/05/2011, 15h06

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