listview -

  显示原文与译文双语对照的内容

这个问题与其他未回答的问题是一样的。

当扩张器扩大外 ListView生长空间扩展器的内容,但是当扩张器然后倒塌视图 NOT 迫使listview调整。

减少了代码,并在以下情况下说明:


<!--<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在 ItemsControl或 StackPanel因为实际上很多 ParameterGroupView条目。 交换到一个的StackPanel NOT 会改变行为。

删除寄宿生 NOT 影响行为,但在它有助于显示行为只有一个 ParameterGroupView 。

可以有许多扩张器部分外 ListView,和里面的扩张器可以有许多实体内部 ListView 。

外 ListView 扩张器是取代 Treeview, 使用可折叠的节点列表,但 Treeview 内部使用的网格,意味着textview物品被压扁horizonatlly,如果删除醚一样 horizontalcontentalignment="拉伸"属性。

所以如果有另一种方法来包装所有的东西,我也会很高兴。

这是一个问题,因为我们 TextView块大,有许多扩张器年代。

编辑:TextView 被用作代码的数据绑定,从而动态地组合在一起。 因此,ListView的任何替换都需要某种形式的

时间: 原作者:

找到了解决方案,并且它详细地说明了在。

ItemControl接受一个 ItemsSource和自动调整大小。 因此,用 *ItemControl*s 替换两个 *ListView*s 会得到嵌套的折叠。

但是没有滚动,所以包装外 ItemControl与 scrollview,再现了完整的预期效果。


<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>

我正在测试边框和双边框的双重扩展器。

原作者:

在这里最显而易见的事情是将扩展器放在一个非listview的容器中:


<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>

容器围绕内容调整大小。

如果你一定要让它在一个列表视图( 这是可能的) 然后我不知道是一种方法来获得一个列表视图如果要调整很容易一旦被生长( 除了设置整个事物的明确大小,这是笨拙而不有用的) 。 如果这是这样的情况,那么你就必须使用可控的listbox来显示所有打开的扩展程序,或者如果你希望能够看到所有的( 比如在弹出菜单里),则可以不同的方式显示内容。

...