【问题标题】:How to increase padding displayed items combobox?如何增加填充显示项目组合框?
【发布时间】:2010-07-25 10:36:57
【问题描述】:
我想编写一个组合框的 XAML 模板来增加项目之间的空格/填充。
我搜索了这个,但几乎最终得到了 ItemsPresenter:
<ItemsPresenter x:Name="ItemsPresenter"
KeyboardNavigation.DirectionalNavigation="Contained"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
如何使用此模板格式化项目(边框、填充、字体...)?
请帮忙。
【问题讨论】:
标签:
wpf
xaml
templates
combobox
itemscontrol
【解决方案1】:
您可以使用ItemContainerStyle 对ComboBoxItems 应用样式,设置诸如填充等属性:
<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>
如果您希望它应用于所有组合框,您可以在资源中为 ComboBoxItem 创建一个隐式样式:
<Window.Resources>
<Style TargetType="ComboBoxItem">
<Setter Property="Padding" Value="5"/>
</Style>
</Window.Resources>
<StackPanel>
<ComboBox ItemsSource="{Binding}"/>
<ComboBox ItemsSource="{Binding}"/>
</StackPanel>