2010-07-25 8 views
6

Tôi muốn viết mẫu XAML của hộp tổ hợp để tăng khoảng cách/khoảng cách giữa các mục. Tôi đã tìm kiếm cho điều này nhưng hầu như kết thúc với ItemsPresenter:Làm cách nào để tăng combobox của các mục được hiển thị?

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

Làm thế nào tôi có thể định dạng các mục (biên giới, đệm, phông chữ ...) sử dụng mẫu này không? Xin vui lòng giúp đỡ.

+0

Tôi cũng cần điều này! Mong được nghe từ tất cả các bạn. –

Trả lời

8

Bạn có thể sử dụng ItemContainerStyle để áp dụng một phong cách cho ComboBoxItems mà bộ tài sản như 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> 

Nếu bạn muốn nó để áp dụng cho tất cả các hộp kết hợp, bạn thay vì có thể tạo ra một phong cách ngầm cho ComboBoxItem trong Tài nguyên của bạn:

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