将可用项目部分中的所有项目添加到Devexpress布局控件

本文关键字:添加 项目 Devexpress 控件 布局 项目部 | 更新日期: 2023-09-27 18:24:21

我尝试使用Devexpress Layout Control(用于服装使用)。所以我想通过代码将Available-Item Section中存在的所有项添加到布局控制根目录中作为Layout-Item

所以这一定是可能的,But How?(我不知道,任何解决方案;)

编辑1抱歉第一次信息较少

让我解释一下我在我的例子中所做的,我使用代码在Form-Loaded Event的Layout控件中创建一个或多个控件。

之后在一个Button_Click中,我使用:

 Layout1.WriteToXML(XmlWriter_Object);

保存Layout Current View。这些步骤效果很好!如果我想在下一步使用以下命令恢复该视图:

 Layout1.ReadFromXML(XmlReader_Object);

结果,我在可用物品部分获得了所有物品(通过代码创建)!这就是我的问题!

为什么会发生这种事?

Ps:XmlReader_Object和XmlWriter_Object都引用了机器上的同一个文件。

将可用项目部分中的所有项目添加到Devexpress布局控件

要将项目从"可用项目"列表移动到LayoutControl,请执行以下操作。

1) 从LayoutControl.AvailableItems集合中删除项目:

layoutControl1.AvailableItems.Remove(item1);

2) 将此项目添加到布局中。例如,您可以使用以下代码将项目附加到组中:

layoutGroup1.Children.Add(item1);

第1版更新:

动态(在代码中)创建布局项时,有必要使用RegisterName方法注册它们的identifiera(名称)。代码可以如下所示:

LayoutItem layoutItem1 = new LayoutItem()
{
    Name = "Item1",
    Label = "Item1",
    Content = new Button()
    {
        Content = "Button"
    }
};
RegisterName(layoutItem1.Name, layoutItem1);
layoutGroup1.Children.Add(layoutItem1);

这样,一切都应该按预期进行。