2011-06-07 99 views
0

我有一個完整的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 

回答

0

我們審查了調用堆棧甚至不能想象什麼可能導致此問題的出現。請將顯示此問題的示例項目發佈到DevExpress support center。我們將研究爲什麼會出現問題並解決問題。

0

http://www.devexpress.com/Support/Center/e/E2272.aspxhttp://www.devexpress.com/Support/Center/p/Q325319.aspx

如果您使用在佈局相同類型的對象,分配DXSerializer.SerializationID財產的所有對象

例如

<Window x:Class="WpfApplication.MainWindow" 
     xmlns:core="http://schemas.devexpress.com/winfx/2008/xaml/core" 
     xmlns:dxdo="http://schemas.devexpress.com/winfx/2008/xaml/docking" 

...

<dxdo:DockLayoutManager Name="FilterGridDockLayoutManager" core:DXSerializer.SerializationID="dock1" >