Wpf 组合框填充

Wpf 组合框填充,wpf,combobox,Wpf,Combobox,这是一个简单的问题 如何删除组合框内容和边框之间的空格。例如,如果组合框的选择为“选择1”,则在组合框控件的左上角绘制“S”,并且在组合框控件和控件左上角之间没有空格 是我干的 <ComboBox Padding="0"/> 即便如此: <ComboBox.ItemContainerStyle> <Style TargetType="ComboBoxItem"> <Setter Property="Padding" Value="0"/

这是一个简单的问题

如何删除组合框内容和边框之间的空格。例如,如果组合框的选择为“选择1”,则在组合框控件的左上角绘制“S”,并且在组合框控件和控件左上角之间没有空格

是我干的

<ComboBox Padding="0"/>

即便如此:

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

上面指定的组合框位于ListView GridViewColumn中。也许那会弄乱什么


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

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

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

那将是一个硬编码的边距。对于默认模板,最好使用负数填充来偏移硬编码的边距:

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

挑选出来的

在表达式混合中,这很简单:

  • 右键单击组合框并选择
    编辑控制部件(模板)
    -
    编辑副本
  • 从模板开头删除
    Margin=“2”