Шаблон ListItem - содержимое не отображается

Я пытаюсь создать новый стиль для ListItem избавиться от синих прямоугольников по умолчанию, отображаемых при наведении на них предметов и выборе их. вот что у меня так далеко:

<Style TargetType="ListBoxItem">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <StackPanel Orientation="Horizontal">
                        <ContentPresenter/>
                    </StackPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

Проблема в том, что контент не отображается вообще. Я пытался сделать это с другим контроллером (например, кнопка). ContentPresenter похоже не работает с ListBoxItem хоть...

Как мне этого добиться?

1 ответ

Решение

Вам нужно добавить TargetType="ListBoxItem" в ControlTemplate

 <Style TargetType="ListBoxItem">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ListBoxItem">
                        <StackPanel Orientation="Horizontal">
                            <ContentPresenter/>
                        </StackPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
Другие вопросы по тегам