Back to Devexpress

BaseView.RestoreLayoutError Event

windowsforms-devexpress-dot-xtrabars-dot-docking2010-dot-views-dot-baseview-d42f2df3.md

latest3.4 KB
Original Source

BaseView.RestoreLayoutError Event

Occurs when a saved layout is invalid and cannot be restored. Allows you to fix restore layout exceptions.

Namespace : DevExpress.XtraBars.Docking2010.Views

Assembly : DevExpress.XtraBars.v25.2.dll

NuGet Package : DevExpress.Win.Navigation

Declaration

csharp
public event EventHandler<RestoreLayoutErrorEventArgs> RestoreLayoutError
vb
Public Event RestoreLayoutError As EventHandler(Of RestoreLayoutErrorEventArgs)

Event Data

The RestoreLayoutError event's data class is RestoreLayoutErrorEventArgs. The following properties provide information specific to this event:

PropertyDescription
ExceptionsGets the list of exceptions that occurred during the restore layout operation.
IsLayoutBrokenGets whether the layout cannot be restored due to the invalid layout file.
ThrowGets or sets whether to throw exceptions that occur during the restore layout operation.

The event data class exposes the following methods:

MethodDescription
ThrowIfRestoreLayoutExceptionsNotHandled()For internal use.

Remarks

The NonUniqueControlNameException occurs when the restored layout contains documents with duplicate ControlName properties.

Follow the steps below to fix this exception:

  1. Handle the RestoreLayoutError event.
  2. Obtain the exception from the e.Exceptions list.
  3. Assign a new unique name to the NonUniqueControlNameException.ControlName property.
  4. Set the e.Throw property to false to suppress the exception.
csharp
void tabbedView1_RestoreLayoutError(object sender, DevExpress.Utils.Serializing.RestoreLayoutErrorEventArgs e) {
    foreach (var exception in e.Exceptions) {
        if (exception is NonUniqueControlNameException nonUniqueException)
            nonUniqueException.ControlName = $"{nonUniqueException.ControlName}_1";
    }
    e.Throw = false;
}

See Also

BaseView Class

BaseView Members

DevExpress.XtraBars.Docking2010.Views Namespace