DataGrid - 如何让两个滚动条始终可见?

时间:2012-01-16 09:55:06

标签: c# wpf

我有一个非常大的DataGrid,它不适合窗口:

    <DataGrid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="17" AutoGenerateColumns="True" Name="dataGrid1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding DataList}" IsReadOnly="True" SelectedItem="{Binding SelectedStrategy, Mode=TwoWay}" AutoGeneratingColumn="DG_AutoGeneratingColumn">
        <i:Interaction.Triggers>
            <i:EventTrigger EventName="MouseDoubleClick">
                <i:InvokeCommandAction Command="{Binding OpenStrategyViewCommand}" />
            </i:EventTrigger>
        </i:Interaction.Triggers>
    </DataGrid>

问题是:

  • 垂直滚动不存在
  • 水平滚动位于DataGrid的底部,但不位于Window
  • 的底部

由于没有垂直滚动,因此无法将DataGrid滚动到水平滚动的底部。

在两个维度(垂直和水平),datagrid大于窗口

我想在DataGrid中有两个滚动条,但它们应始终可见。怎么做?

3 个答案:

答案 0 :(得分:2)

  

由于没有垂直滚动,因此无法滚动   DataGrid到水平滚动的底部。

听起来你没有正确配置你的大小,但我在WPF DataGrid上并不是那么大,所以我不能告诉你遗憾的是什么错误。

要始终显示滚动条,请使用以下两个属性:

<DataGrid
HorizontalScrollBarVisibility="Visible"
VerticalScrollBarVisibility="Visible" >

答案 1 :(得分:0)

您可以在DataGrid上设置具有Horizo​​ntal-和VerticalScrollBarVisibility的两个ScrollBars的可见性,但我想您可能应该像AndersonH​​olmström建议的那样将网格放在ScrollViewer中。

MSDN DataGrid Class

答案 2 :(得分:0)

在DataGrid周围添加ScrollViewer。帮助您控制数据网格大小,同样如其他海报提到的Horizo​​ntalScrollBarVisibility =“Visible”VerticalScrollBarVisibility =“Visible”控制滚动条的可见性。

<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible">
    <DataGrid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="17" AutoGenerateColumns="True" Name="dataGrid1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding DataList}" IsReadOnly="True" SelectedItem="{Binding SelectedStrategy, Mode=TwoWay}" AutoGeneratingColumn="DG_AutoGeneratingColumn">
        <i:Interaction.Triggers>
            <i:EventTrigger EventName="MouseDoubleClick">
                <i:InvokeCommandAction Command="{Binding OpenStrategyViewCommand}" />
            </i:EventTrigger>
        </i:Interaction.Triggers>
    </DataGrid>
</ScrollViewer>