是否可以在DataGrid中显示没有行的水平滚动条?

时间:2011-05-12 09:32:48

标签: wpf datagrid scroll

即使DataGrid中没有行,我也希望允许用户水平滚动DataGrid。只是为了让他们找出DataGrid中存在的所有列。有可能吗?

4 个答案:

答案 0 :(得分:0)

您可以尝试使用ScrollViewer.HorizontalScrollBarVisibility="Visible"强制水平滚动条,或者如果失败,您可以禁用DataGrid内的滚动并将其包装到ScrollViewer

答案 1 :(得分:0)

尝试将DataGrid包裹在ScrollViewer中,HorizontalScrollBarVisibility强制为Visible,并将以下属性添加到DataGrid

<DataGrid.Template>
    <ControlTemplate>                        
         <ItemsPresenter />
    </ControlTemplate>

</DataGrid.Template>

应该做的伎俩

答案 2 :(得分:0)

您可以尝试将MaxWidth的{​​{1}}绑定到父元素的DataGridActualWidth /等。)。

答案 3 :(得分:0)

我不确定是否没有重新定义模板。我能够让滚动条显示(通过直接访问),但不能实际滚动。我最后在类似的帖子中提出了添加虚拟行并在没有行时将行高设置为0的建议。这很难看,但它确实有效。

if (dtEnrollments.Rows.Count == 0)
{
    dtEnrollments.Rows.Add(dtEnrollments.NewRow());
    dgClassRoster.RowHeight = 0;
}
else
    dgRoster.RowHeight = defaultRowHeight;

dgRoster.ItemsSource = dtEnrollments.DefaultView;