C# 停止DataGrid在筛选行后自动调整大小
我正在用行过滤器实现一个datagrid,如下所示: 我的行和列是由我从数据库获得的结果自动生成的 我看到的问题是,当我执行过滤器时,我的datagrid会自动调整大小,这有点烦人。我宁愿看到过滤掉的行消失,但仍然保持数据网格的高度 我已经将datagrid的最大高度设置为150,但在执行过滤时,它会将自身调整为较短的高度 如何阻止自动调整大小?例如,如果datagrid加载了5行,高度消耗为150px,那么我过滤它以显示2行,我仍然希望datagrid的高度为150pxC# 停止DataGrid在筛选行后自动调整大小,c#,wpf,datagrid,C#,Wpf,Datagrid,我正在用行过滤器实现一个datagrid,如下所示: 我的行和列是由我从数据库获得的结果自动生成的 我看到的问题是,当我执行过滤器时,我的datagrid会自动调整大小,这有点烦人。我宁愿看到过滤掉的行消失,但仍然保持数据网格的高度 我已经将datagrid的最大高度设置为150,但在执行过滤时,它会将自身调整为较短的高度 如何阻止自动调整大小?例如,如果datagrid加载了5行,高度消耗为150px,那么我过滤它以显示2行,我仍然希望datagrid的高度为150px 谢谢 您必须设置高度
谢谢 您必须设置
高度
属性。MaxHeight
仅限制数据网格的长度不超过该值,但不限制数据网格的长度
<DataGrid Name="yourDataGrid" Height="150" VerticalAlignment="Top">
你能发布你的XAML吗?我不想初始化一个固定的高度,但基本上我只想保留高度。即使我将MaxHeight设置为150,假设我有3行占据了100px的高度,当我过滤时,我希望保留100px的高度。我在寻找是否有一个属性可以设置为我想要的,我想这是一种方法:)顺便问一句,我真的需要将高度设置回NaN吗?@DhinneshJeevan是的,如果不是在行数更改时,请不要跟随这些更改。这就是目的,我的数据网格高度不应在行数更改时更改。它应该根据加载的行数从一开始就固定。因此,将其设置回NaN将不起作用。我已经试过了,但不起作用,忽略NaN对我有效。@DhinneshJeevan这对你的情况是正确的,但从我的应用程序中,我通常在清除过滤器后清除固定高度。例如,在网格中插入新行时,如果不清除此值,gid将不会变高
yourDataGrid.Height= yourDataGrid.ActualHeight;
// Start Filter
// ...
// ClearFilter: clear the fixed height
yourDataGrid.Height = double.NaN;