У меня есть окно, полное элементов управления DevExpress. Выдающимся элементом управления является DockLayoutManager, содержащий вкладку TabbedGroup (вкладки содержат один из элементов: управление сводной таблицей или управление сеткой). Внутри этого элемента управления находятся другие закрепляемые окна, а также меню элементов в верхней части окна.DevExpress BarManager SaveLayoutToStream
Я хотел бы сохранить макет панели меню элементов, вызвав SaveLayoutToStream на объект BarManager.
Эта функция будет успешно завершена тогда и только тогда, когда макет видного элемента управления идентичен оригинальной компоновке (то есть во время разработки). Если я перетащить вкладки отдельных людей и закреплять их в DockLayoutManager, то я получаю следующее исключение:
Exception of type 'DevExpress.Xpf.Core.Serialization.DuplicateSerializationIDException' was thrown.
at DevExpress.Xpf.Core.Serialization.DuplicateSerializationIDException.Assert(IDXSerializable dxObj1, IDXSerializable dxObj2)
at DevExpress.Xpf.Core.Serialization.DXSerializer.SerailizationStore.<.ctor>b__4(IDXSerializable dxObj)
at DevExpress.Xpf.Core.Serialization.DXSerializer.AcceptCore(DependencyObject dObj, Action`1 visit, IEnumerable`1 parentIDs)
at DevExpress.Xpf.Core.Serialization.DXSerializer.Accept(DependencyObject dObj, AcceptNestedObjects acceptNested, Action`1 visit)
at DevExpress.Xpf.Core.Serialization.DXSerializer.SerailizationStore..ctor(DependencyObject root, AcceptNestedObjects acceptNested)
at DevExpress.Xpf.Core.Serialization.DXSerializer.SerializeCore(DependencyObject root, Object path, String appName, DXOptionsLayout options, AcceptNestedObjects acceptNested)
at DevExpress.Xpf.Bars.BarManager.SaveLayoutToStream(Stream stream)
at LayoutExtensions.GetLayout(BarManager view) in C:\LayoutHelper.cs:line 136