Sim*_*rim 7 wpf listview expander
这个问题与其他未回答的问题相同.
当扩展扩展外ListView的增长,使空间的扩展内容,但在扩展随后倒塌的观点并不强制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>-->
Run Code Online (Sandbox Code Playgroud)
我在ItemsControl或StackPanel中有ParameterGroupView,因为实际上有很多ParameterGroupView条目.交换到StackPanel不会改变行为.
删除边界不会影响行为,但让它只显示一个ParameterGroupView的行为.
可以有很多扩展外部分的ListView和扩展可以让内内许多实体的ListView.
外部ListView和Expander是替换一个TreeView,它曾经有一个可折叠节点列表,但TreeView内部使用了网格,意味着TextView项目被横向压缩,就像删除了以下的一样:HorizontalContentAlignment ="拉伸"属性.
因此,如果有另一种方法来包装/连接所有这些,我也会很高兴.
这是一个问题,因为我们的TextView块很大并且有很多Expander.
编辑:TextView用作代码是数据绑定的,因此动态地放在一起.因此,ListView的任何替换都需要某种形式的ItemsSource
找到了解决方案,它详细说明了问题所在的位置。
ItemControl接受ItemsSource并自动调整大小。因此,用ItemControl替换两个ListView会导致嵌套折叠。
但没有滚动,因此用ScrollViewer包装外部ItemControl可以重现完整的所需效果。
<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>
Run Code Online (Sandbox Code Playgroud)
我正在边框和双边框部分中使用双扩展器进行测试。
| 归档时间: |
|
| 查看次数: |
2983 次 |
| 最近记录: |