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 :

Listbox ne se resize pas


Sujet :

Silverlight

  1. #1
    Membre régulier Avatar de cyberbobby
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Points : 106
    Points
    106
    Par défaut Listbox ne se resize pas
    Bonjour à tous,

    J'ai un petit problème avec une listbox.

    Je vous envois un petit projet de test pour illustrer mon problème

    En faut, j'ai modifié le DataTemplate de ma listbox pour y mettre un StackPanel avec des Border à l'intérieur.

    Je veux donner la possibilité de masquer ces Borders. Pour ce faire, je binde sur des propriétés visibility.

    Tout fonctionne très bien lorsque j'ai plusieurs lignes dans ma ListBox. Mais lorsque j'en ai une seule, la listbox ne se resize pas lorsque je masque une colonne.

    Pour tester ce cas, il faut commenter cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Persons.Add(person2);  //Commenter cette ligne pour n'afficher qu'une ligne dans la listbox
    Voilà ... Si vous avez une idée du pourquoi ou mieux, je commence je pourrais faire en sorte que ça se resize lorsque ma propriété change.

    Merci d'avance,
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    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
    Points : 2 682
    Points
    2 682
    Par défaut
    Bonjour,

    la ListBox, lorsqu'elle ajoute une ou plusieurs lignes, constitue en interne une taille minimum qui n'est pas recalculée dynamiquement. c'est pourquoi la ListBox ne peut se retailler automatiquement en dessous de cette taille minimum. Bug ou optimisation, c'est un autre débat

    pour forcer la ListBox a reprendre la taille dynamiquement tu dois lancer manuellement le calcul permettant de calculer sa taille (Measure) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            private void BHide_Click(object sender, RoutedEventArgs e)
            {
                IsLastname = IsLastname == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;
    
                LBRow.Measure(new Size());
            }
    Petit conseil :

    Evite ceci de préférence car en cas de changement de dataContext ton controle ne fonctionnera plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.DataContext = this;
    Préfère ceci, qui mettra à l'abri ton DataContext.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.LayoutRoot.DataContext = this;

  3. #3
    Membre régulier Avatar de cyberbobby
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Points : 106
    Points
    106
    Par défaut
    Ok, en effet ça fonctionne nickel.

    Merci Samoteph.

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

Discussions similaires

  1. [Débutant] MVVM - Un ListBox ne se raffraichit pas
    Par sam1989 dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 11/03/2013, 17h24
  2. Listbox qui ne scroll pas
    Par ctxnop dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 04/02/2011, 19h32
  3. [MFC] : CDialog resizeable , pas d'icone ;
    Par sivaller dans le forum Windows
    Réponses: 1
    Dernier message: 11/10/2010, 23h47
  4. TextArea de resize pas selon le text
    Par Gaaaga dans le forum MXML
    Réponses: 4
    Dernier message: 11/06/2008, 16h14
  5. [C#][Débutant] Datagrid, les colonnes ne se resizent pas automatiquement
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/05/2006, 08h08

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