即使DataGrid
中没有行,我也希望允许用户水平滚动DataGrid
。只是为了让他们找出DataGrid
中存在的所有列。有可能吗?
答案 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}}绑定到父元素的DataGrid
(ActualWidth
/等。)。
答案 3 :(得分:0)
我不确定是否没有重新定义模板。我能够让滚动条显示(通过直接访问),但不能实际滚动。我最后在类似的帖子中提出了添加虚拟行并在没有行时将行高设置为0的建议。这很难看,但它确实有效。
if (dtEnrollments.Rows.Count == 0)
{
dtEnrollments.Rows.Add(dtEnrollments.NewRow());
dgClassRoster.RowHeight = 0;
}
else
dgRoster.RowHeight = defaultRowHeight;
dgRoster.ItemsSource = dtEnrollments.DefaultView;