Как установить ItemContainerStyle только для первого уровня TreeView?

Я хочу измениться ItemContainerStyle только для пунктов первого уровня. И оставьте стиль по умолчанию для более глубоких уровней. Возможно?

1
nl ja de

2 ответы

Да, вы создали бы обычай StyleSelector это может выбрать различный стиль на основе любых критериев, которые вы решаете. В вашем случае вы хотели бы проверить, чтобы видеть, какой ItemsControl владел контейнером (как в TreeView , каждый TreeViewItem является ItemsControl и владеет его детьми).

public class TreeViewFirstItemStyleSelector : StyleSelector
{
    public override Style SelectStyle(object item, DependencyObject container)
    {
        var element = container as TreeViewItem;
        if (element != null && ItemsControl.GetItemsOwner(element) is TreeView)
            return element.FindResource("customStyle") as Style;

        return null;
    }
}

Вы тогда установили бы его на собственности ItemContainerStyleSelector своего TreeView.

2
добавлено
Вы имеете в виду DataTemplate, но я спрашиваю о ItemContainerStyle =),
добавлено автор Pavel Voronin, источник
Ха-ха, да, you' право ре, I' ve, обновленный, чтобы использовать StyleSelector.
добавлено автор Abe Heidebrecht, источник

Необходимо использовать Стиль Спусковой механизм s и тестовые изделия, если они - первый элемент. Этот код - просто идея:


                <trigger Property="IsFirst" Value="True">
                    
                

1
добавлено
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing