wpf combobox padding - PullRequest
       6

wpf combobox padding

2 голосов
/ 13 апреля 2010

Это простой вопрос

Как убрать пробел между содержимым комбокса и его границей. Например. Если в поле со списком выбрано «Выбор 1», то «S» отображается в самом верхнем левом углу элемента управления ComboBox без пробелов между ним и верхней левой частью элемента управления.

Я сделал это

<ComboBox Padding="0"/>

Даже это:

<ComboBox.ItemContainerStyle>
  <Style TargetType="ComboBoxItem">
    <Setter Property="Padding" Value="0"/>
  </Style>
</ComboBox.ItemContainerStyle>

Указанный выше ComboBox находится внутри ListView GridViewColumn. Может быть, это что-то портит.

Это не удаляет отступы. Есть идеи?

Ответы [ 2 ]

2 голосов
/ 15 апреля 2010

В Expression Blend это тривиально:

  1. Щелкните правой кнопкой мыши ComboBox и выберите Edit Control Parts (Template) - Edit A Copy.
  2. Удалите Margin="2" из начала шаблона.
2 голосов
/ 13 апреля 2010

Вы не можете. По крайней мере, не с шаблоном по умолчанию. Вы должны написать свой собственный. Шаблон по умолчанию включает это:

<DockPanel Margin="2">
    <TextBox .../>
</DockPanel>

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

<ComboBox Padding="-2">
    <ComboBoxItem >Selected</ComboBoxItem>
</ComboBox>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...