2010-07-25 15 views
6

Chcę napisać szablon XAML z combobox, aby zwiększyć spacje/padding między elementami. szukałem tego, ale prawie skończyć z ItemsPresenter:Jak zwiększyć wyściółkę wyświetlanych elementów combobox?

<ItemsPresenter x:Name="ItemsPresenter" 
       KeyboardNavigation.DirectionalNavigation="Contained" 
       SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> 

Jak mogę sformatować element (granicznym, wyściółka, czcionki ...) używając tego szablonu? Proszę o pomoc.

+0

Ja też tego potrzebuję! Czekam na wiadomość od was wszystkich. –

Odpowiedz

8

Można użyć ItemContainerStyle aby zastosować styl do ComboBoxItems który ustawia właściwości, takie jak padding:

<ComboBox ItemsSource="{Binding}"> 
    <ComboBox.ItemContainerStyle> 
     <Style TargetType="ComboBoxItem"> 
      <Setter Property="Padding" Value="5"/> 
      <Setter Property="BorderBrush" Value="Blue"/> 
      <Setter Property="BorderThickness" Value="2"/> 
      <Setter Property="FontFamily" Value="Courier New"/> 
     </Style> 
    </ComboBox.ItemContainerStyle> 
</ComboBox> 

Jeśli chcesz go zastosować do wszystkich pól kombi, można zamiast stworzenia niejawny styl ComboBoxItem w twoje zasoby:

<Window.Resources> 
    <Style TargetType="ComboBoxItem"> 
     <Setter Property="Padding" Value="5"/> 
    </Style> 
</Window.Resources> 
<StackPanel> 
    <ComboBox ItemsSource="{Binding}"/> 
    <ComboBox ItemsSource="{Binding}"/> 
</StackPanel> 
Powiązane problemy