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.v24.1.dll
NuGet Package: DevExpress.Win.Navigation
Declaration
Event Data
The RestoreLayoutError event's data class is RestoreLayoutErrorEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
Exceptions | Gets the list of exceptions that occurred during the restore layout operation. |
IsLayoutBroken | Gets whether the layout cannot be restored due to the invalid layout file. |
Throw | Gets or sets whether to throw exceptions that occur during the restore layout operation. |
The event data class exposes the following methods:
Method | Description |
---|---|
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:
- Handle the
RestoreLayoutError
event. - Obtain the exception from the e.Exceptions list.
- Assign a new unique name to the NonUniqueControlNameException.ControlName property.
- Set the e.Throw property to
false
to suppress the exception.
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