阻止 DataGrid 在筛选行后自动调整大小

本文关键字:调整 DataGrid 筛选 阻止 | 更新日期: 2023-09-27 18:35:52

我正在实现一个带有行过滤器的数据网格,如下所示:http://www.codeproject.com/Articles/42227/Automatic-WPF-Toolkit-DataGrid-Filtering

我的行和列是由我从数据库中获得的结果自动生成的。

我看到的问题是,当我执行过滤器时,我的数据网格会自动调整大小,这有点烦人。我宁愿看到过滤掉的行消失,但保持数据网格的高度。

我已将数据网格的最大高度设置为 150,但是当我执行过滤时,它会将自身调整为更短的高度。

如何阻止自动调整大小?例如,如果数据网格加载了 5 行,高度消耗 150px,然后我过滤它以显示 2 行,我仍然希望我的数据网格高度为 150px。

谢谢!

阻止 DataGrid 在筛选行后自动调整大小

您必须设置Height属性。MaxHeight仅限制数据网格不会长到高于该值,但不会限制数据网格更短。

<DataGrid Name="yourDataGrid" Height="150" VerticalAlignment="Top">

不想初始化固定高度,但基本上我只想 以保持高度。即使我设置了最大高度=150,假设我 有 3 行占用高度 100px,当我过滤时,我想 以保留 100px 的高度。

在这种情况下

yourDataGrid.Height= yourDataGrid.ActualHeight;
// Start Filter
// ...
// ClearFilter: clear the fixed height
yourDataGrid.Height = double.NaN;