【问题标题】:WPF Adjust Grid Height according to listview contentWPF根据listview内容调整网格高度
【发布时间】:2010-11-28 15:29:38
【问题描述】:

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

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

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

【问题讨论】:

    标签: wpf listview height


    【解决方案1】:

    事实上,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>
    

    【讨论】:

      【解决方案2】:

      我认为问题在于您的 Height="Auto" 正在增加 Grid 以显示所有行。
      将您的 Grid Row Height 和 Width 设置为 * 意味着填充容器(选项卡)

         <Grid.RowDefinitions>
              <RowDefinition Height="*"></RowDefinition>
         </Grid.RowDefinitions>
         <Grid.ColumnDefinitions>
              <ColumnDefinition Width="*"></ColumnDefinition>
         </Grid.ColumnDefinitions>
         <Listview Grid.Row="0" Grid.Column="0" />
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2018-09-29
          • 2012-08-03
          • 2010-12-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-29
          相关资源
          最近更新 更多