【问题标题】:Why vertical scrollbar doesn't appear in DataGrid WPF?为什么 DataGrid WPF 中不出现垂直滚动条?
【发布时间】:2017-04-20 08:57:12
【问题描述】:

我需要设置 MinHeight DataGrid 的垂直滚动条。

但是为什么我的数据网格不这样做呢??

这是我的一些代码。

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" MinHeight="{Binding ElementName=listView1, Path=MinHeight}"/>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" MinHeight="{Binding ElementName=listView2, Path=MinHeight}"/>
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions> .....

     <Grid Grid.Row="4">
            <DataGrid ColumnHeaderStyle="{StaticResource MyColumnHeader}" Style="{DynamicResource DataGridStyle}"                 
                  x:Name="incidentList" ColumnWidth="*"
                  Height="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Grid}}, Path=ActualHeight}"
                  HorizontalAlignment="Stretch" MinHeight="150" SelectedItem="{Binding SelectIcdtRow}"
                  ItemsSource="{Binding m_IncidentListData, UpdateSourceTrigger=PropertyChanged}" AutoGenerateColumns="False" CanUserAddRows="False">
            .........

 <Grid Grid.Row="8">
    <DataGrid  x:Name="listView2" ItemsSource="{Binding m_ResourceList}" HorizontalAlignment="Stretch"                    
              Style="{DynamicResource DataGridStyle}" ColumnHeaderStyle="{StaticResource MyColumnHeader}" 
               ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto"
              MinHeight="150" Margin="0,10,0,10" VerticalAlignment="Stretch"  AutoGenerateColumns="False" CanUserAddRows="False">

DataGrid at Grid.Row="4" 可以做垂直滚动条, 但 Grid.Row="8" 的 DataGrid 不能。

所以我使用了scrollViewer,但它也没有制作滚动条。请帮我。

【问题讨论】:

  • 滚动查看器也有很多问题。您是否也尝试设置 MaxHeight 而不仅仅是 MinHeight?如果你想让你的 ScrollViewer 工作,一旦你知道行的大​​小,你可能必须在代码中设置 ScrollViewer 的 MaxHeight? (即通过向 SizeChanged 添加处理程序)
  • 如果将 RowDefinition 的 Height 设置为 150 会怎样?

标签: wpf datagrid tinyscrollbar


【解决方案1】:

<ScrollViewer Height="Auto" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"> <Grid Grid.Row="8"> ... Your code ... </Grid> </ScrollViewer>

试试这个,如果你只需要垂直 ScrollViewer 或水平 ScrollViewer。

【讨论】:

    猜你喜欢
    • 2012-07-03
    • 1970-01-01
    • 2012-12-05
    • 2021-09-24
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    相关资源
    最近更新 更多