2010-03-06 5 views
0

Je travaille sur un site où j'ai un contrôle accordéon pour le contenu principal et dans chacun est un autre contrôle accordéon. Cela a bien fonctionné tant qu'il y avait juste quelques objets là mais une fois que j'ai eu assez d'objets dans l'enfant accordéon, ils sont coupés lors de l'expansion d'un objet. Ce n'est pas si grave pour les éléments proches du haut de la liste, mais pour les éléments proches de la fin, vous ne pouvez rien voir car il est complètement écrêté.Imbrication d'un contrôle Accordian a des problèmes redimensionnement du contenu

Vous pouvez les voir si vous réduisez le contrôle accordéon principal et le développez à nouveau. (Voir http://www.utahcodecamp.com/#Sessions/ pour voir ce que je veux dire)

Des suggestions? Puis-je forcer l'élément accordéon parent à recalculer la taille?

Répondre

2

J'ai trouvé une solution de rechange. Cela fonctionne parfaitement!

"a" est l'accordéon interne.

void a_SizeChanged(object sender, SizeChangedEventArgs e) 
    { 
     var accordian = sender as AccordionItem; 
     var items = accordian.GetVisualAncestors(); 

     foreach (DependencyObject obj in items) 
     { 
      if (obj is ExpandableContentControl) 
      { 
       ExpandableContentControl ctrl = obj as ExpandableContentControl; 
       ctrl.Height += e.NewSize.Height - e.PreviousSize.Height; 
      } 
     } 
    } 
+0

Cela a fonctionné pour moi aussi. – gautema

2

Il semble que vous ayez trouvé un bogue dans l'implémentation d'Accordian. Vous devriez créer un très petit pic avec juste assez pour reproduire le problème et l'envoyer à la section des problèmes pour le Silverlight Toolkit.

Questions connexes