我想爲wpf中的某些ComboBox
es設置FontSize
。但我發現的唯一解決方案是設置特定ComboBoxItem
的FontSize
。但是這些項目是動態添加的(所以我可以聽ItemsChanged
並每次設置樣式,但這非常難看)。 有沒有辦法一般爲ComboBox
的所有項目設置FontSize
?WPF:在不知道項目的情況下更改組合框的字體大小
EDIT1:ComboBox
es本身也被動態添加到代碼中。
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");
這一切!
不錯,但現在的項目是空的... – SpeziFish 2011-03-02 13:21:39
所以綁定是不正確的。只需檢查您的對象的哪個屬性必須綁定到ComboBoxItem的文本。將我的示例中的「Content」替換爲此屬性的名稱 – fixagon 2011-03-02 14:21:09
我沒有綁定,我在代碼中手動添加字符串(請參閱有問題的編輯)。 – SpeziFish 2011-03-02 14:28:24