私はDevExpressコントロールがいっぱいのウィンドウを持っています。顕著なコントロールは、TabbedGroup(タブはピボットテーブルコントロールまたはグリッドコントロールのいずれかを含むタブ)を含むDockLayoutManagerです。このコントロールの周囲には、他のドッキング可能なウィンドウと、ウィンドウの上部にあるアイテムメニューがあります。DevExpress BarManager SaveLayoutToStream
BarManagerオブジェクトのSaveLayoutToStreamを呼び出して、アイテムメニューバーのレイアウトを保存したいとします。
この機能は、顕著なコントロールのレイアウトが元のレイアウトと同じ(つまり、デザイン時)の場合にのみ、正常に終了します。私は個人タブをドラッグして、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