【发布时间】:2011-07-07 06:26:24
【问题描述】:
我想在 wpf 中为一些ComboBoxes 设置FontSize。但我找到的唯一解决方案是设置特定ComboBoxItems 的FontSize。但是这些项目是动态添加的(所以我可以在ItemsChanged 上收听并每次设置样式,但这非常难看)。
有没有办法为ComboBox的所有项目设置FontSize?
EDIT1:ComboBoxes 本身也在代码中动态添加。
EDIT2:按照您的回答,它必须是这样的:
<Style TargetType="ComboBox" x:Key="MyComboBox"">
<Setter Property="ItemContainerStyle" Value="{DynamicResource MyComboItemStyle}"/>
</Style>
<Style x:Key="MyComboItemStyle" TargetType="{x:Type ComboBoxItem}">
<Setter Property="FontSize" Value="14"/>
</Style>
但它也没有效果!
EDIT3:这是我添加项目的方法:
string[] strEnums = //Some dynamic magic;
foreach (string str in strEnums)
{
(input as ComboBox).Items.Add(strEnum);
}
EDIT4:下面是组合框的初始化:
input = new ComboBox();
input.SetResourceReference(ComboBox.StyleProperty, "MyComboBox");
就是这样!
【问题讨论】:
标签: wpf combobox styles font-size