2011-06-07 50 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" >