Удалить все левые отступы из WPF ListBox - PullRequest
26 голосов
/ 12 января 2009

Кажется, что каждый элемент в элементе управления WPF ListBox имеет небольшой отступ слева. Как я могу изменить стиль, чтобы удалить все отступы?

Default Comparison

Ответы [ 2 ]

42 голосов
/ 12 января 2009

Вы также можете ввести ListBoxItem s для определенного ListBox следующим образом:

<ListBox>
    <ListBox.ItemContainerStyle>
        <Style TargetType="ListBoxItem">
            <Setter Property="Padding" Value="0"/>
        </Style>
    </ListBox.ItemContainerStyle>
</ListBox>
5 голосов
/ 12 января 2009

Я не совсем уверен, ПОЧЕМУ это происходит (похоже, это проблема НЕ со ListBox, а со списком ListBoxItem. Если вы установите свойство Background для LBI на красный или какой-то другой цвет, вы увидите, что он скрытый. к левой стороне LB.

Для быстрого взлома нужно установить отрицательное поле для кнопки: Margin = "- 3 0 0 0" Это может вызвать некоторые непреднамеренные побочные эффекты, но работает визуально ...

edit Быстрая проверка подтвердила, что LBI имеет заполнение по умолчанию. Вы можете отключить его так:

<ListBoxItem Padding="0"><!-- content here k --></ListBoxItem>

Кроме того, вы можете добавить стиль в ресурсы вашего окна, который удалит его из всех LBI в вашем проекте (это может быть псевдоксамл, но вы поняли):

<Style TargetType="ListBoxItem">
  <Setter Property="Padding" Value="0"/>
</Style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...