我尝试使用Devexpress Layout-Control(适合服装使用)。因此,我希望通过代码将Available-Item Section
中存在的所有项目作为Layout-Item
添加到Layout-Control根目录中。
所以必须有可能, But How?
(我不知道,任何解决方案;)
修改1 抱歉第一次提供的信息较少
让我解释一下我在我的例子中做了什么,我使用代码在Form-Loaded Event
的Layout-Control中创建一个或多个Control。
之后在一个Button_Click
中,我使用:
Layout1.WriteToXML(XmlWriter_Object);
保存 Layout Current View
。这一步很好用!如果我想使用此命令在下一步恢复该视图:
Layout1.ReadFromXML(XmlReader_Object);
结果我得到了可用项目部分中的所有项目(通过代码创建)!所以这是我的问题!
为什么会出现这种情况?
Ps:XmlReader_Object和XmlWriter_Object都引用了machin上的相同文件。
答案 0 :(得分:7)
要将项目从Available Items列表移动到LayoutControl,请执行以下操作。
1)从LayoutControl.AvailableItems集合中删除项目:
layoutControl1.AvailableItems.Remove(item1);
2)将此项添加到布局中。例如,您可以使用以下代码将项目附加到组:
layoutGroup1.Children.Add(item1);
更新Edit1:
在动态创建布局项目(在代码中)时,必须使用RegisterName方法注册其标识符(名称)。代码可以如下所示:
LayoutItem layoutItem1 = new LayoutItem()
{
Name = "Item1",
Label = "Item1",
Content = new Button()
{
Content = "Button"
}
};
RegisterName(layoutItem1.Name, layoutItem1);
layoutGroup1.Children.Add(layoutItem1);
这样,一切都应该按预期工作。