Back to Devexpress

RichEditControl.EndUpdate() Method

wpf-devexpress-dot-xpf-dot-richedit-dot-richeditcontrol-2d990d0a.md

latest3.8 KB
Original Source

RichEditControl.EndUpdate() Method

Unlocks the RichEditControl object after a call to the RichEditControl.BeginUpdate method and causes an immediate visual update.

Namespace : DevExpress.Xpf.RichEdit

Assembly : DevExpress.Xpf.RichEdit.v25.2.dll

NuGet Package : DevExpress.Wpf.RichEdit

Declaration

csharp
public void EndUpdate()
vb
Public Sub

Remarks

Enclose your code in the RichEditControl.BeginUpdate - EndUpdate method calls to suppress the RichEditControl’s visual updates and improve its performance when you perform multiple changes to a document.

Each call to RichEditControl.BeginUpdate must be paired with the EndUpdate call. The RichEditControl.BeginUpdate method locks the RichEditControl, so that it is not rendered after each modification. The EndUpdate method unlocks the control to enable all the changes to take effect. You can use the try…finally statement to ensure that EndUpdate is always called even if an exception occurs.

The following example shows how to use the RichEditControl.BeginUpdate - EndUpdate methods.

csharp
richEditControl1.BeginUpdate();
try
{
    Document document = richEditControl1.Document;

    // Create a multiplication table.
    Table table = document.Tables.Create(document.Selection.Start, 8, 8, AutoFitBehaviorType.AutoFitToWindow);

    table.Borders.InsideHorizontalBorder.LineThickness = 1;
    table.Borders.InsideHorizontalBorder.LineStyle = TableBorderLineStyle.Double;
    table.Borders.InsideVerticalBorder.LineThickness = 1;
    table.Borders.InsideVerticalBorder.LineStyle = TableBorderLineStyle.Double;
    table.TableAlignment = TableRowAlignment.Center;

    table.ForEachCell((cell, rowIndex, columnIndex) =>
    {
        document.InsertText(cell.Range.Start, String.Format("{0}*{1} = {2}",
             columnIndex + 2, rowIndex + 2, (rowIndex + 2) * (columnIndex + 2)));
    });

}
finally
{
    richEditControl1.EndUpdate();
}
vb
richEditControl1.BeginUpdate()
Try
    Dim document As Document = richEditControl1.Document

    ' Create a multiplication table.
    Dim table As Table = document.Tables.Create(document.Selection.Start, 8, 8, AutoFitBehaviorType.AutoFitToWindow)

    table.Borders.InsideHorizontalBorder.LineThickness = 1
    table.Borders.InsideHorizontalBorder.LineStyle = TableBorderLineStyle.Double
    table.Borders.InsideVerticalBorder.LineThickness = 1
    table.Borders.InsideVerticalBorder.LineStyle = TableBorderLineStyle.Double
    table.TableAlignment = TableRowAlignment.Center

    table.ForEachCell(Sub(cell, rowIndex, columnIndex) document.InsertText(cell.Range.Start, String.Format("{0}*{1} = {2}", columnIndex + 2, rowIndex + 2, (rowIndex + 2) * (columnIndex + 2))))

Finally
    richEditControl1.EndUpdate()
End Try

See Also

BeginUpdate()

IsUpdateLocked

RichEditControl Class

RichEditControl Members

DevExpress.Xpf.RichEdit Namespace