我有一个包含多行的listview,问题是即使垂直滚动条可见,它也不起作用,我解释一下,似乎因为网格高度为Auto,所以没有最大高度,所有显示内容,即使其中一部分不可见,我发现的唯一部分解决方案是将像素高度设置为网格,如600,然后您可以滚动列表视图的内容,但显然这是不是一个非常好的解决方案,因为我希望高度由它的容器定义,我试图将height属性绑定到TabItem的ActualHeight,但这也不起作用,我很绝望,所以如果有人知道如何解决这个问题我非常感谢,提前谢谢。
下面基本上是我正在使用的代码。
<TabItem Header="Orders">
<Grid Height="Auto">
<ScrollViewer>
<ListView ScrollViewer.VerticalScrollBarVisibility="Visible"
ScrollViewer.CanContentScroll="True" >
</ListView>
</ScrollViewer>
</Grid>
</TabItem>
答案 0 :(得分:1)
我认为问题是你的高度=“自动”正在增长网格以显示所有行 使用平均值填充容器(选项卡)
将网格行高度和宽度设置为* <Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Listview Grid.Row="0" Grid.Column="0" />
答案 1 :(得分:0)
我认为问题可能是你有一个滚动查看器围绕一个控件(ListView),它有一个内置的滚动查看器。尝试删除外部ScrollViewer。
答案 2 :(得分:0)
实际上listview有一个内置的滚动查看器,所以我删除了它,但问题仍然以同样的方式存在,现在我有以下内容:
<TabItem Header="Orders">
<Grid Height="Auto" Margin="0,0,0,0">
<ListView ItemsSource="{Binding}" HorizontalAlignment="Stretch"
x:Name="listViewOrdenes"
ScrollViewer.VerticalScrollBarVisibility="Visible">
</ListView>
</Grid>
</TabItem>