过滤行后,停止DataGrid自动调整大小

时间:2016-02-24 01:41:21

标签: c# wpf datagrid

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

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

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

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

如何停止自动调整大小?例如,如果datagrid加载了5行,其高度消耗为150px,那么我将其过滤以显示2行,我仍然希望我的datagrid的高度为150px。

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

我不想初始化固定高度,但基本上我只是想要   保持高度。即使我设置MaxHeight = 150,让我们说我   有3行,占用高度100px,当我过滤,我想   保持100px的高度。

在这种情况下

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