总是在windows应用程序的datagridview中显示滚动条 - c#

时间:2015-01-20 18:47:15

标签: c# visual-studio-2010

如何始终在数据网格中显示垂直滚动条而不管它包含多少行?

我正在使用Visual Studio 10 C#进行窗口应用。

2 个答案:

答案 0 :(得分:1)

尝试设置ScrollViewer.VerticalScrollBarVisibility="True 默认情况下,该属性设置为“自动”。

答案 1 :(得分:0)

当DataGrid没有行时,例如您过滤掉所有行,其水平滚动条被禁用。即使它的可见性设置被设置为可见。

一个解决方案是将DataGrid放在其他ScrollViewer中,并在Datagrid自己的水平滚动条被禁用时显示这个外部ScrollViewer水平滚动条。像这样:

<ScrollViewer.Style>
    <Style TargetType="ScrollViewer">
        <Style.Triggers>
            <!-- Show this horizontal scrollbar when DataGrid:s own scrollbar is disappeared or disabled after filtering off all DataGrid rows -->
            <DataTrigger Binding="{Binding ElementName=MyDataGrid, Path=HasItems}" Value="False">
                <Setter Property="HorizontalScrollBarVisibility" Value="Visible"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</ScrollViewer.Style>

<DataGrid   x:Name="MyDataGrid"
            ...>
</DataGrid>