0

我有一个有几行的listview,问题是即使垂直滚动条可见,它也不起作用,我解释一下,似乎因为网格高度是Auto,所以没有最大高度并且所有内容都是显示,即使它的一部分不可见,我发现的唯一部分解决方案是将像素高度设置为网格,如 600,然后您可以滚动列表视图的内容,但显然这不是一个非常很好的解决方案,因为我希望高度由它的容器定义,我试图将高度属性绑定到 TabItem 的 ActualHeight,但这也不起作用,我很绝望,所以如果有人知道如何解决这个问题我将不胜感激,在此先感谢。

下面基本上是我正在使用的代码。

<TabItem Header="Orders">
     <Grid Height="Auto">
         <ScrollViewer>
              <ListView ScrollViewer.VerticalScrollBarVisibility="Visible"
                        ScrollViewer.CanContentScroll="True" >
               </ListView>
          </ScrollViewer>
     </Grid>
</TabItem>
4

3 回答 3

1

我认为问题在于您的 Height="Auto" 正在增加 Grid 以显示所有行。
使用填充容器(选项卡)将您的网格行高度和宽度设置为 *

   <Grid.RowDefinitions>
        <RowDefinition Height="*"></RowDefinition>
   </Grid.RowDefinitions>
   <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"></ColumnDefinition>
   </Grid.ColumnDefinitions>
   <Listview Grid.Row="0" Grid.Column="0" />
于 2011-07-11T16:17:45.087 回答
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>
于 2009-09-16T02:45:13.323 回答
0

我相信问题可能是你有一个滚动查看器围绕一个具有内置滚动查看器的控件(ListView)。尝试删除外部 ScrollViewer。

于 2009-09-16T00:50:27.597 回答