gpt4 book ai didi

WPF:在不知道项目的情况下更改 ComboBox 的字体大小

转载 作者:行者123 更新时间:2023-12-04 19:35:27 25 4
gpt4 key购买 nike

我想设置FontSize对于一些 ComboBox wpf中的es。但我找到的唯一解决方案是设置 FontSize特别的 ComboBoxItem s。但是这些项目是动态添加的(所以我可以收听 ItemsChanged 并每次设置样式,但这非常难看)。
有没有办法设置FontSize对于 ComboBox 的所有项目一般来说?

编辑 1: ComboBox es 本身也在代码中动态添加。

编辑2:按照您的答案,它必须是这样的:

<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);
}

编辑4:这是组合框的初始化:
input = new ComboBox();
input.SetResourceReference(ComboBox.StyleProperty, "MyComboBox");

就这样!

最佳答案

1.如果要设置FontSize整个ComboBox ,您可以设置FontSize ComboBox 的属性(property)本身:

<ComboBox FontSize="18" ...>
...
</ComboBox>

2.如果要更改 FontSize仅在项目上或根据某些条件更改字体大小,您应该指定“ItemContainerStyle”:
<ComboBox ...>
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="FontSize" Value="18"/>
</Style>
</ComboBox.ItemContainerStyle>
...
</ComboBox>

关于WPF:在不知道项目的情况下更改 ComboBox 的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5167760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com