开发者

How to increase padding displayed items combobox?

I want to write XAML template of a combobox to increase the spaces/padding between items. I searched for this but almost end up with the ItemsPresenter:

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

How can I format the 开发者_如何学Pythonitem (border, padding, font...) using this template? Please help.


You can use ItemContainerStyle to apply a style to the ComboBoxItems that sets properties such as 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>

If you want it to apply to all combo boxes, you could instead create an implicit style for ComboBoxItem in your Resources:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜