Я создал элемент управления, который унаследовал ItemsControl, и элемент управления, который я сделал
не имеет ItemsPresenter для своего шаблона. Вместо этого у меня есть Сетка.
Я хочу сделать такой список:
(пункт 1)
(GridSplitter)
(пункт 2)
(GridSplitter)
(пункт 3)
Поскольку я должен вставить свой собственный GridSplitter между Предметами, я не могу использовать
ItemsPresenter и пусть он заполняет интерфейс для меня.
Я переопределяю метод OnItemsChanged (), чтобы я мог написать свою логику добавления / удаления
GridSplitter. Однако мне все еще нужно использовать класс ItemContainerGenerator для
сгенерируйте ItemTemplate для моих Предметов.
Но когда в моем элементе управления нет ItemsPresenter, ItemContainerGenerator
не похоже на работу. Когда я использую его для создания элемента в первый раз, он возвращает
ContentPresenter с DataTemplate. Затем я вставил его в сетку, которая у меня есть.
Тем не менее, на экране ничего не отображается. Если я добавлю еще один элемент, он бросит
ошибка, когда я вставляю в сетку, говоря, что элемент уже находится в визуальном дереве.
По этой причине я думаю, что ItemContainerGenerator не может работать без ItemsPresenter.
Итак, я попытался заменить свою сетку на ItemsPresenter. На этот раз он использует его
Подчеркните логику для создания предметов, и она отобразила то, что должна. Однако это не то, что я хочу.
Причина, по которой я хочу использовать ItemContainerGenerator, заключается в том, что мне нужно создать
Элементы пользовательского интерфейса из ItemTemplate, которые я определил в Xaml.
Есть ли способ, которым я могу сгенерировать пользовательский интерфейс с помощью ItemTemplate моего контроля над элементами?