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 :

un repeater en Silverlight ?


Sujet :

Silverlight

  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Par défaut un repeater en Silverlight ?
    Bonjour,

    J'ai vu qu'en asp il existe un outil appelé Repeater, qui permet de répéter des blocs de code afin de générer des datagrids à la volée sur une page.

    J'ai besoin en Silverlight, de faire la même chose, à savoir :
    Via un fichier xml contenant x nodes, je veux créer et remplir à la volée x gridviews. J'ai déjà rempli mon Itemsource avec mes listes de données, reste à faire apparaitre tout ça dans ma page xaml ^^

    Donc comment répéter ce petit bout de code automatiquement en fonction du nombre d'items dans ma liste ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                        <dataInput:Label Grid.Row="0" Theme:StyleManager.Style="Border_MenuBar_Style"/>
                        <StormGridView:StormGridView Grid.Row="1" RowIndicatorVisibility="Collapsed"                                                 
                                                    CanUserFreezeColumns="False" ShowColumnFooters="True"
                                                    AutoGenerateColumns="False" IsReadOnly="True" ShowGroupPanel="False">
                            <StormGridView:StormGridView.Columns>
                                <StormGridView:StormGridViewColumn Header="" DataMemberBinding="{Binding Path=Cpt}"/>
                                <StormGridView:StormGridViewColumn Header="Name" DataMemberBinding="{Binding Path=ElemName}"/>
                                <StormGridView:StormGridViewColumn Header="Value" DataMemberBinding="{Binding Path=ElemValue}" Width="*"/>
                            </StormGridView:StormGridView.Columns>
                        </StormGridView:StormGridView>
    Si ce repeater n'existe pas en Silverlight, quels sont les autres moyens ?
    Merci d'avance et bonne journée

  2. #2
    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
    L'ItemsControl est l'équivalent du Repeater.

  3. #3
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    J'ai vu qu'en asp il existe un outil appelé Repeater, qui permet de répéter des blocs de code afin de générer des datagrids à la volée sur une page.
    Cela s'appelle un ItemsControl c'est l'ancêtre notamment de la ListBox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <ItemsControl ItemsSource="{Binding TaSourceDeBloc}">
      <ItemsControl.ItemTemplate>
        <DataTemplate>
          <!-- ici ton bloc à multiplier
        </DataTemplate>
      </ItemsControl.ItemTemplate>
    </ItemsControl>

  4. #4
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Par défaut
    ca marche ^^
    merci à vous !

    Question subsidiaire : je perds le style que j'applique dans la listbox, et pas moyen de voir pourquoi.
    Si quelqu'un a une piste

    Code : 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
    <ListBox DataContext="{Binding Path=XmlQualityControl}" ItemsSource="{Binding Path=ExtractedInformationList}" Margin="0,0,0,0">
                            <ListBox.ItemTemplate>
                                <DataTemplate>
                                    <StackPanel Orientation="Vertical" Width="370">
                                        <dataInput:Label Content="{Binding Path=InfoHeader}" Theme:StyleManager.Style="Border_MenuBar_Style"/>
                                        <StormGridView:StormGridView RowIndicatorVisibility="Collapsed" ItemsSource="{Binding Path=InformationList}"                                                 
                                                    CanUserFreezeColumns="False" ShowColumnFooters="False" ScrollViewer.VerticalScrollBarVisibility="Visible" Height="150" 
                                                    AutoGenerateColumns="False" IsReadOnly="True" ShowGroupPanel="False">
                                            <StormGridView:StormGridView.Columns>
                                                <StormGridView:StormGridViewColumn Header="" DataMemberBinding="{Binding Path=Cpt}"/>
                                                <StormGridView:StormGridViewColumn Header="Name" DataMemberBinding="{Binding Path=ElemName}"/>
                                                <StormGridView:StormGridViewColumn Header="Value" DataMemberBinding="{Binding Path=ElemValue}"/>
                                            </StormGridView:StormGridView.Columns>
                                        </StormGridView:StormGridView>
                                    </StackPanel>
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>

  5. #5
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Si c'est du style Border_MenuBar_Style dont tu parles, il doit être sans doute dans une ressource. on doit donc l'appeler de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      Theme:StyleManager.Style="{StaticResource Border_MenuBar_Style}"

  6. #6
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Par défaut
    merci ^^

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

Discussions similaires

  1. [LG]repeat/until comportement etrange
    Par scifire dans le forum Langage
    Réponses: 11
    Dernier message: 25/03/2005, 21h56
  2. [VB.NET] Repeater imbriqué
    Par Sadneth dans le forum ASP.NET
    Réponses: 8
    Dernier message: 18/02/2005, 15h31
  3. [VB.NET] Affichage conditionnel dans un repeater
    Par NicoNGRI dans le forum ASP.NET
    Réponses: 4
    Dernier message: 07/02/2005, 12h58
  4. [VB.Net]Evenement dans un Repeater !!
    Par m-mas dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/09/2004, 17h13
  5. [C#] Déclencher action dans Repeater avec LinkButton
    Par globeriding dans le forum ASP.NET
    Réponses: 13
    Dernier message: 13/05/2004, 15h29

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