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 :

Problème de design/mise en page auto


Sujet :

Silverlight

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut Problème de design/mise en page auto
    Bonjour à tous,

    Je fais face à un probleme de mise en page assez étrange en silverlight 3 :
    Imaginons le code suivant dans la page principale de l'appli silverlight :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <StackPanel>
            <layoutToolkit:Accordion HorizontalAlignment="Stretch" SelectionMode="OneOrMore">
                <layoutToolkit:AccordionItem Header="Liste" HorizontalAlignment="Stretch">
     
                        <local:UCListe />
     
                </layoutToolkit:AccordionItem>
                <layoutToolkit:AccordionItem Header="Details" HorizontalAlignment="Stretch">
                    <Button Content="Click" Click="Button_Click" />
                </layoutToolkit:AccordionItem>
            </layoutToolkit:Accordion>
        </StackPanel>
    Maintenant, voici le code du usercontrol UCListe :

    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
    19
    20
        <Grid>
            <data:DataGrid ItemsSource="{Binding ListePersonnes}">
                <data:DataGrid.Columns>
                    <data:DataGridTemplateColumn>
                        <data:DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBox Text="{Binding Nom, Mode=TwoWay}" />
                            </DataTemplate>
                        </data:DataGridTemplateColumn.CellTemplate>
                    </data:DataGridTemplateColumn>
                    <data:DataGridTemplateColumn>
                        <data:DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBox Text="{Binding Prenom, Mode=TwoWay}" />
                            </DataTemplate>
                        </data:DataGridTemplateColumn.CellTemplate>
                    </data:DataGridTemplateColumn>
                </data:DataGrid.Columns>
            </data:DataGrid>
        </Grid>
    Grid étant le premier controle au sein du usercontrol.
    La liste est bindée à une observablecollection, jusque là tout va bien. Lorsque j'ajoute des lignes à cette grille, le conteneur s'étend bien verticalement pour afficher les lignes ajoutées, donc en gros il prend toute la hauteur du datagrid.

    Maintenant, mon problème est que j'aimerai pouvoir ajouter d'autres controles dans ce usercontrol Liste. J'ai donc changé la balise Grid en mettant un stackpanel à la place.
    L'affichage reste le meme sauf que quand j'ajoute des lignes, le conteneur ne s'étend pas verticalement, je suis obligé de réduire l'accordionitem puis de l'ouvrir à nouveau pour que ca refresh la hauteur globale.

    Auriez vous une idée de comment je pourrais faire pour ne pas avoir ce soucis ?

    Merci d'avance
    @ bientot

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Peut-être un bug SL.

    Au lieu de changer le Grid par un StackPanel dans UCList est-ce que tu as essayé de splitter le Grid en 2 lignes (avec Height=Auto) ,de mettre ton StackPanel dans la 2ème ligne et de laisser le DataGrid dans la première ligne ?
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut
    Oui mais c'est le meme probleme. A partir du moment ou c'est un redimensionnement de l'enfant direct, ca passe, mais des que c'est un petit enfant ou plus loin ca ne passe plus

Discussions similaires

  1. Problème de compatibilité - mise en page
    Par talmai dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 18/12/2009, 14h35
  2. Réponses: 6
    Dernier message: 23/03/2009, 09h31
  3. Problème avec la mise en page
    Par mo_amyot dans le forum Word
    Réponses: 5
    Dernier message: 03/12/2007, 16h32
  4. [2.2.0][Designer] Mise en page : alignement
    Par sleigh dans le forum BIRT
    Réponses: 2
    Dernier message: 18/09/2007, 10h44
  5. [Designer] Mise en page sous birt
    Par ruby_robber dans le forum BIRT
    Réponses: 3
    Dernier message: 08/08/2007, 14h31

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