2010-07-25 3 views
6

Ich möchte XAML-Vorlage einer Combobox schreiben, um die Leerzeichen/Abstände zwischen Elementen zu erhöhen. ich für diese gesucht, aber fast mit dem Itemspresenter am Ende:Wie wird die Auffüllung von angezeigten Combobox-Elementen erhöht?

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

Wie kann ich das Element formatiert (Grenze, Polsterung, Schriftart ...) mit dieser Vorlage? Bitte helfen.

+0

Ich bin in der Notwendigkeit von diesem auch! Ich freue mich von euch allen zu hören. –

Antwort

8

Sie können ItemContainerStyle verwenden, um einen Stil, um die ComboBoxItems anzuwenden, die Eigenschaften wie Polsterung setzt:

<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> 

Wenn Sie es für alle Kombinationsfelder anwenden möchten, können Sie stattdessen einen impliziten Stil für ComboBoxItem schaffen könnte in Ihre Ressourcen:

<Window.Resources> 
    <Style TargetType="ComboBoxItem"> 
     <Setter Property="Padding" Value="5"/> 
    </Style> 
</Window.Resources> 
<StackPanel> 
    <ComboBox ItemsSource="{Binding}"/> 
    <ComboBox ItemsSource="{Binding}"/> 
</StackPanel> 
Verwandte Themen