2010-04-13 143 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"