Back to Devexpress

RichEditControl.BeginUpdate() Method

wpf-devexpress-dot-xpf-dot-richedit-dot-richeditcontrol-3f11759b.md

latest3.9 KB
Original Source

RichEditControl.BeginUpdate() Method

Locks the RichEditControl to prevent its visual updates until the RichEditControl.EndUpdate method is called.

Namespace : DevExpress.Xpf.RichEdit

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

NuGet Package : DevExpress.Wpf.RichEdit

Declaration

csharp
public void BeginUpdate()
vb
Public Sub BeginUpdate

Remarks

Enclose your code in the BeginUpdate - RichEditControl.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 BeginUpdate must be paired with the RichEditControl.EndUpdate call. The BeginUpdate method locks the RichEditControl, so that it is not rendered after each modification. The RichEditControl.EndUpdate method unlocks the control to enable all the changes to take effect. You can use the try…finally statement to ensure that RichEditControl.EndUpdate is always called even if an exception occurs.

The following example shows how to use the BeginUpdate - RichEditControl.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

EndUpdate()

IsUpdateLocked

RichEditControl Class

RichEditControl Members

DevExpress.Xpf.RichEdit Namespace