Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 停止DataGrid在筛选行后自动调整大小_C#_Wpf_Datagrid - Fatal编程技术网

C# 停止DataGrid在筛选行后自动调整大小

C# 停止DataGrid在筛选行后自动调整大小,c#,wpf,datagrid,C#,Wpf,Datagrid,我正在用行过滤器实现一个datagrid,如下所示: 我的行和列是由我从数据库获得的结果自动生成的 我看到的问题是,当我执行过滤器时,我的datagrid会自动调整大小,这有点烦人。我宁愿看到过滤掉的行消失,但仍然保持数据网格的高度 我已经将datagrid的最大高度设置为150,但在执行过滤时,它会将自身调整为较短的高度 如何阻止自动调整大小?例如,如果datagrid加载了5行,高度消耗为150px,那么我过滤它以显示2行,我仍然希望datagrid的高度为150px 谢谢 您必须设置高度

我正在用行过滤器实现一个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;