WPF c#数据网格设置单独的行高度
本文关键字:单独 高度 设置 网格 数据 数据网 WPF | 更新日期: 2023-09-27 18:09:42
我对WPF和c#都很陌生。我试图创建一个数据网格,在那里我可以以编程方式设置各个行的高度。
似乎可以改变所有行的高度,但我希望这些行彼此具有不同的高度。
有谁知道实现这个的方法吗?(我在想我可以将行高度设置为自动,并在未使用的列中放置一个不可见的TextBox。我可以改变未使用的文本框的高度编程)
最简单的方法可能是在DataGrid中处理这个问题。LoadingRow事件,在行被初始化后立即引发。
要做到这一点,只需在xaml代码中向数据网格添加一个事件处理程序:<DataGrid LoadingRow="DataGrid_LoadingRow"></DataGrid>
并在代码中声明此事件处理程序,以通过Height
属性单独管理行高度:
private void DataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
DataGridRow row = e.Row;
row.Height = 50; //put your height here
}
EKrueger
非常感谢您的回复。
但是,您的技术仅在创建数据网格时才会发生。我需要一些可以在不同时间调用的东西,这样我就可以定期调整行大小。我一直在寻找,这是我找到的解决方案。
欢呼。
- 马特
private void resizeDataGridRowHeight() { int a = boundDataGrid.Items.Count; int calibrationRowHeight = 28; for (int i = 0; i < a; i++) { myRowHeight = ListofObjectsThatEachRepresentAParameter.ListOfDataTableRows[i].ListOfCalibrationRows.Count * calibrationRowHeight; DataGridRow row = boundDataGrid.ItemContainerGenerator.ContainerFromIndex(i) as DataGridRow; row = boundDataGrid.ItemContainerGenerator.ContainerFromIndex(i) as DataGridRow; row.Height = myRowHeight; } }