Добавление всех элементов в разделе «Доступные элементы» в Devexpress Layout Control? - PullRequest
1 голос
/ 13 февраля 2012

Я пытаюсь использовать Devexpress Layout-Control (Для использования костюма).Поэтому я хочу добавить все элементы, существующие в Available-Item Section, в корень Layout-Control как Layout-Item через код.

Так что это должно быть возможно, But How? (я не знаю, какое-либо решение;)

Редактировать 1 извините За меньшую информациюв первый раз

Позвольте мне объяснить, что я делаю в моем примере. Я использую код для создания одного или нескольких элементов управления в Layout-Control на Form-Loaded Event.

После этого в одном Button_Click я использую:

 Layout1.WriteToXML(XmlWriter_Object);

для сохранения Layout Current View.Эти шаги хорошо работают!если я хочу восстановить это представление на следующем шаге с помощью этой команды:

 Layout1.ReadFromXML(XmlReader_Object);

В результате я получил все элементы (созданные с помощью кода) в секции Available-Item!Так что это моя проблема!

Почему это происходит?

Ps: XmlReader_Object и XmlWriter_Object ссылаются на один и тот же файл на компьютере.

1 Ответ

7 голосов
/ 13 февраля 2012

Чтобы переместить элемент из списка Доступные элементы в LayoutControl, выполните следующее.

1) Удалите элемент из коллекции LayoutControl.AvailableItems:

layoutControl1.AvailableItems.Remove(item1);

2) Добавьте этот элемент в макет.Например, вы можете использовать следующий код для добавления элемента в группу:

layoutGroup1.Children.Add(item1);

Обновление при редактировании 1:

При динамическом создании элементов макета (в коде), необходимо зарегистрировать их идентификаторы (имена) методом RegisterName .Код может выглядеть следующим образом:

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

Таким образом, все должно работать как положено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...