如何始终在数据网格中显示垂直滚动条而不管它包含多少行?
我正在使用Visual Studio 10 C#进行窗口应用。
答案 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>