WPF:数据网格不能水平滚动

时间:2016-11-15 17:11:50

标签: c# wpf datagrid

我有以下DataGrid:

<Grid Margin="10" HorizontalAlignment="Stretch">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="10"/>
            <RowDefinition Height="Auto" MinHeight="80"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="50"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition MaxWidth="150"/>
            <ColumnDefinition MinWidth="300" Width="Auto"/>
            <ColumnDefinition MaxWidth="30"/>
            <ColumnDefinition MaxWidth="10"/>
            <ColumnDefinition MaxWidth="30"/>
            <ColumnDefinition MaxWidth="10"/>
            <ColumnDefinition Width="*" MinWidth="400"/>
        </Grid.ColumnDefinitions>

...

    <ScrollViewer Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="7" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" CanContentScroll="True">
                <DataGrid  
                      ItemsSource="{Binding ExcelFileDataView, Mode=TwoWay}"
                      AutoGenerateColumns="True"/>
    </ScrollViewer>

...

</Grid>

但是当我使应用程序窗口变小时,整个窗口变得可以水平滚动而不是DataGrid。 我需要做什么才能使DataGrid水平滚动?

1 个答案:

答案 0 :(得分:0)

不要将DataGrid放入ScrollViewer。它有自己的滚动条,因此将...ScrollBarVisibility属性移动到DataGrid,一切都会好的。