Cette question est la même que cette autre unanswered question.ListView avec Expander imbriqué pas effondrement
Lorsque le l'extérieur Expander est élargi ListView pousse à faire de la place pour le contenu des expandeurs, mais quand le Expander est alors effondrés la vue ne force pas le ListView à redimensionner.
Code réduit, avec des notes après:
<!--<StackPanel>-->
<ItemsControl>
<!-- ParameterGroupView -->
<Border BorderBrush="Brown" BorderThickness="1" CornerRadius="4" Padding="4">
<ListView HorizontalContentAlignment="Stretch">
<Expander Header="Expander A" IsExpanded="False">
<ListView HorizontalContentAlignment="Stretch">
<!-- TextView -->
<TextBlock >Content A</TextBlock>
<TextBlock >Content B</TextBlock>
</ListView>
</Expander>
</ListView>
</Border>
</ItemsControl>
<!--</StackPanel>-->
J'ai la ParameterGroupView dans un ItemsControl ou StackPanel parce qu'il est en fait beaucoup ParameterGroupView entrées. L'échange vers un StackPanel ne change pas le comportement.
Retrait de la Boarder n'affecte pas le comportement, mais l'avoir permet de montrer le comportement avec un seul ParameterGroupView.
Il peut y avoir beaucoup de Expander sections dans la extérieure ListView et le Expander peut avoir de nombreuses entités à l'intérieur du ListView intérieur.
Le extérieur ListView et Expander est de remplacer une TreeView, qui a été utilisé pour avoir une liste de noeuds pliable, mais l'utilisation interne des grilles de TreeView, on entend les éléments de TextView ont été écrasés horizontalement, le même que si vous enlevez l'éther HorizontalContentAlignment = "Stretch" attributs. Donc, s'il y a une autre façon d'enrouler/câbler tout cela, je serai également heureux.
Ceci est un problème parce que nos blocs TextView sont grandes et il y a beaucoup de Expander s.
Édition: TextView est utilisé car le code est lié aux données, et donc mis ensemble dynamiquement. Ainsi, tout remplacement de ListView aurait besoin d'une certaine forme de ItemsSource
Je ne voulais pas non plus de l'interaction de style ListView avec les éléments de contenu. Je voulais juste un contrôle de redimensionnement dynamique qui pourrait être lié aussi. –