wpf组合框填充

时间:2010-04-13 13:47:50

标签: wpf combobox

这是一个简单的问题

如何删除组合框内容与其边框之间的空格。例如。如果组合框的选择是“选择1”,则在ComboBox控件的最左上方绘制“S”,在它与控件的左上部分之间没有空白间隔。

我做了这个

<ComboBox Padding="0"/>

即便如此:

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

上面指定的ComboBox位于ListView GridViewColumn中。也许这会弄乱一些东西。

这不会删除填充。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

你做不到。至少,不是默认模板。你必须自己写。默认模板包括:

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

这将是一个硬编码的保证金。关于使用默认模板可以做的最好的事情是使用负填充来抵消硬编码边距:

<ComboBox Padding="-2">
    <ComboBoxItem >Selected</ComboBoxItem>
</ComboBox>

答案 1 :(得分:2)

在Expression Blend中,这是微不足道的:

  1. 右键单击ComboBox并选择Edit Control Parts (Template) - Edit A Copy
  2. 从模板的开头删除Margin="2"