2010-01-21 3 views
1

Я ищу, чтобы создать новый шаблон управления для WPF tabcontrol.WPF TabControl ControlTemplate

Ситуация у меня в том, что в элементе управления будет несколько вкладок, и пользователь сможет добавлять и удалять эти вкладки.

В идеале я хотел бы создать что-то в соответствии с вкладками Firefox/IE, в результате чего у вас есть кнопка удаления внутри заголовка вкладки, чтобы удалить текущую вкладку.

Кроме того, и немного сложнее, я хочу иметь новую кнопку вкладки, которая всегда находится в правой части последней вкладки в tabcontrol.

Может ли кто-нибудь указать мне в направлении, чтобы начать? Я видел примеры использования Blend для создания нового шаблона. До сих пор я не использовал это, но только что загрузил пробную версию ...

Спасибо.

ответ

1

Кнопка "Новая вкладка" является более сложным. Основная проблема заключается в том, что вы хотите, чтобы она отображалась в правильном месте в ItemsPresenter/TabPanel, но она не является частью коллекции, управляющей ItemsPresenter, потому что это фактически не TabItem. Я сделал это в прошлом, изменив ControlTemplate самого элемента TabControl, чтобы наклеить кнопку на правую сторону ItemsPresenter, но вы можете в конечном итоге выглядеть странно в ситуациях, когда вкладки во второй строке повторяются, так как кнопка isn 't часть макета TabPanel.

0

Как насчет использования шаблонаSelector?

Создайте два разных шаблона - один для обычных элементов табуляции и один для вашей «новой кнопки вкладок». Оба являются элементами табуляции, но с разными шаблонами в зависимости от условий в вашем TemplateSelector.

Чтобы добиться различного поведения или определить свою «новую кнопку вкладки», просто проверьте свой код, какой шаблон назначен.

Надеюсь, что это поможет.

1

Попробуйте следующие артикулы; они оба помогли мне начать писать пользовательский элемент управления вкладками.

1. Code Project: An Extended Tab Control

2. WPF TabControl Series

Первое звено обеспечивает полное индивидуальное решение, которое очень хорошо, но я нашел его немного сложной на первый. Вторая ссылка содержит 4-элементную статью, которая позволяет вам изменить шаблон управления вкладками.