wpf-devexpress-dot-xpf-dot-spreadsheet-dot-spreadsheetcontrol-cb4707b6.md
Occurs after the row height was changed.
Namespace : DevExpress.Xpf.Spreadsheet
Assembly : DevExpress.Xpf.Spreadsheet.v25.2.dll
NuGet Package : DevExpress.Wpf.Spreadsheet
public event RowHeightChangedEventHandler RowHeightChanged
Public Event RowHeightChanged As RowHeightChangedEventHandler
The RowHeightChanged event's data class is RowHeightChangedEventArgs. The following properties provide information specific to this event:
| Property | Description |
|---|---|
| Index | Returns the index of the row whose height was changed. |
The RowHeightChanged event occurs in the following cases:
See how to specify the row height or column width.
The example below shows how to use the SpreadsheetControl.RowHeightChanged and SpreadsheetControl.ColumnWidthChanged events to keep a picture in the center of the destination cell when a user changes the cell’s width or height.
public Form1()
{
InitializeComponent();
IWorkbook workbook = spreadsheetControl.Document;
Worksheet worksheet = workbook.Worksheets.ActiveWorksheet;
// Add a picture to cell B2.
Cell destCell = worksheet.Cells["B2"];
Picture picture = worksheet.Pictures.AddPicture("DxLogo.png", destCell);
// Specify the cell width and height.
double cellWidth = destCell.ColumnWidth = picture.Width + 150;
double cellHeight = destCell.RowHeight = picture.Height + 50;
// Center the picture in the cell.
double columnOffset = (destCell.ColumnWidth - picture.Width) / 2;
double rowOffset = (destCell.RowHeight - picture.Height) / 2;
picture.Move((float)rowOffset, (float)columnOffset);
spreadsheetControl.ColumnWidthChanged += (s, e) =>
{
if (e.Index == destCell.ColumnIndex)
{
// Move the picture to keep it in the center of the cell.
columnOffset = (destCell.ColumnWidth - cellWidth) / 2;
picture.Left += (float)columnOffset;
cellWidth = destCell.ColumnWidth;
}
};
spreadsheetControl.RowHeightChanged += (s, e) =>
{
if (e.Index == destCell.RowIndex)
{
// Move the picture to keep it in the center of the cell.
rowOffset = (destCell.RowHeight - cellHeight) / 2;
picture.Top += (float)rowOffset;
cellHeight = destCell.RowHeight;
}
};
}
Public Class Form1
Public Sub New()
InitializeComponent()
Dim workbook As IWorkbook = spreadsheetControl.Document
Dim worksheet As Worksheet = workbook.Worksheets.ActiveWorksheet
' Add a picture to cell B2.
Dim destCell As Cell = worksheet.Cells("B2")
Dim picture As Picture = worksheet.Pictures.AddPicture("DxLogo.png", destCell)
' Specify the cell width and height.
destCell.ColumnWidth = picture.Width + 150
Dim cellWidth As Double = destCell.ColumnWidth
destCell.RowHeight = picture.Height + 50
Dim cellHeight As Double = destCell.RowHeight
' Center the picture in the cell.
Dim columnOffset As Double = (destCell.ColumnWidth - picture.Width) / 2
Dim rowOffset As Double = (destCell.RowHeight - picture.Height) / 2
picture.Move(CSng(rowOffset), CSng(columnOffset))
AddHandler spreadsheetControl.ColumnWidthChanged,
Sub(s, e)
If e.Index = destCell.ColumnIndex Then
' Move the picture to keep it in the center of the cell.
columnOffset = (destCell.ColumnWidth - cellWidth) / 2
picture.Left += CSng(columnOffset)
cellWidth = destCell.ColumnWidth
End If
End Sub
AddHandler spreadsheetControl.RowHeightChanged,
Sub(s, e)
If e.Index = destCell.RowIndex Then
' Move the picture to keep it in the center of the cell.
rowOffset = (destCell.RowHeight - cellHeight) / 2
picture.Top += CSng(rowOffset)
cellHeight = destCell.RowHeight
End If
End Sub
End Sub
End Class
See Also