题
这个问题是相同的,因为这其他 未回答的问题.
时 膨胀 是扩大外 列表视图 长到让空间的扩展内容,但是当 膨胀 然后倒塌的视不力的列表视图,以调整。
减少代码中,注意到后:
<!--<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>-->
我 ParameterGroupView 在一个 获取定 或 在这种情况下, 因为那里实际上很多 ParameterGroupView 项。换一个 在这种情况下, 不改变行为。
除去 寄宿生 并不影响的行为,但具有它有助于表明所述行为只有一个单一的 ParameterGroupView.
可以有很多 膨胀 部分在外 列表视图, , 膨胀 可以有很多实体内部的内部 列表视图.
外 列表视图 和 膨胀 是来替换一个 树视图, 那是用来有一个名单的可折叠的节点,但 树视图内部使用的网格,指控项目被压扁horizonatlly,同样的,因为如果删除醚 HorizontalContentAlignment="延伸" 属性。
所以如果有另一种方式来包裹/丝所有这些,我也很高兴。
这是一个问题,因为我们的 控 块都很大,有许多 膨胀s.
编辑: 控 被用作码数据,并因此动态放在一起。因此,任何替代列表视图将需要某种形式的 该视图可以
解决方案
找到的解决方案,它详细介绍其在这个问题。
ItemControl 接受一个 该视图可以 和自动调整大小。所以替换两个 列表视图s ItemControls得到的嵌套的崩溃。
但是没有滚动的,所以包装的外 ItemControl 与 ScrollViewer, ,再现了《完成预期的效果。
<ScrollViewer
VerticalScrollBarVisibility="Auto">
<ItemsControl>
<!-- ParameterGroupView -->
<Border
BorderBrush="Brown"
BorderThickness="1"
CornerRadius="4"
Padding="4"
Height="Auto">
<ItemsControl
HorizontalContentAlignment="Stretch">
<Expander
Header="Expander A"
IsExpanded="False">
<ItemsControl
HorizontalContentAlignment="Stretch">
<!-- TextView -->
<TextBlock>Content A</TextBlock>
<TextBlock>Content B</TextBlock>
</ItemsControl>
</Expander>
</ItemsControl>
</Border>
</ItemsControl>
</ScrollViewer>
我测试与双扩展边界和双边界部分。
其他提示
最显而易见的事情要在这里做的是把扩展在一个容器非列表视图:
<Border BorderBrush="Brown" BorderThickness="1" CornerRadius="4" Padding="4">
<StackPanel>
<Expander Header="Expander A" IsExpanded="False">
<ListView HorizontalContentAlignment="Stretch" MinWidth="100">
<ListBox Name="listb"></ListBox>
<!-- TextView -->
<TextBlock >Content A</TextBlock>
<TextBlock>Content B</TextBlock>
</ListView>
</Expander>
</StackPanel>
</Border>
容器的调整内容就好了。
如果你绝对必须在一个列表视图(它是可能的),然后我不知道的一个办法让一个列表视图,以调整容易,一旦它的增长(超出了设定明确的尺寸的整个事情,它是笨拙的和没有用的)。如果这种情况,那么这是可能的,你就必须使用可控制的列表框显示所有的开放式膨胀机或显示的内容在一个不同的方式(如在一弹,也许?) 如果你想要能够看到它都一目了然。