ItemTemplate - работает неправильно.Индивидуальный внешний вид и переплет - PullRequest
0 голосов
/ 22 января 2012

Я создал свой ExtendedTabControl, чтобы полностью изменить его внешний вид.Работает нормально.Я также создал элемент управления CloseableTabItem.Это работает также.Однако ... пока я вручную поместил CloseableTabItem в свой ExtendedTabControl следующим образом:

<etc:ExtendedTabControl>            
    <etc:CloseableTabItem Header="First Item">
        <...some  content... />
    </etc:CloseableTabItem>            
</etc:ExtendedTabControl> 

Теперь я хочу связать ObservableCollection с моим ExtendedTabControl.Объекты внутри Коллекции содержат: header и contentText.Я установил ItemSource, хорошо, работает.Но как я могу сделать TabItems моими CloseableTabItems?Более того, как привязать мои объекты класса к этому CloseableTabItems?Я заметил, что у TabControl есть свойство ItemTemplate, но его установка не меняет полностью его внешний вид.Есть еще фон, который я не могу изменить.Таким образом, вступление работает, но привязка не работает или привязки работают, но появление только частично.Что я могу сделать?Пожалуйста, помогите.

1 Ответ

0 голосов
/ 22 января 2012

В вашем ExtendedTabControl коде вам нужно изменить контейнер для предметов, который генерируется для предметов, на ваш ClosableTabItem:

public class ExtendedTabControl : TabControl
{
    protected override DependencyObject GetContainerForItemOverride()
    {
        return new CloseableTabItem();
    }
}

(есть связанный метод, IsItemItsOwnContainerOverride, который вы также можете переопределить)

TabControls имеет два шаблона, которые вы можете установить: ContentTemplate, который шаблонирует область содержимого элемента, и ItemTemplate, который должен шаблонизировать заголовок.

Чтобы изменить другие свойства на сгенерированных вкладках, используйте ItemContainerStyle, который теперь имеет TargetType из ClosableTabItem.

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