2010-04-13 141 views
2

这是一个简单的问题wpf组合框填充

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

我这样做

<ComboBox Padding="0"/> 

即使是这样:

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

上述指定组合框是一个ListView GridViewColumn内。也许这是在搞什么。

这并不删除填充。有任何想法吗?

回答

2

你不能。至少,不使用默认模板。你必须自己写。默认模板包括:

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

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

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

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

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