在运行时更改组合框项样式

Change comboboxitem style in runtime

我有一个自定义的组合框项目样式

<Style x:Key="combo_item" TargetType="{x:Type ComboBoxItem}">

我需要用这种样式在 运行 时间内(c# 代码)向组合框添加项目我可以添加项目

ComboBoxItem tmp = new ComboBoxItem();
        tmp.Content = "data";
        combobox.Items.Add(tmp);

但我似乎无法弄清楚要应用这种风格,因为不仅仅是这种风格,所以我不能这样做

<Style x:Name="combo_item" TargetType="{x:Type ComboBoxItem}">

您需要找到样式,然后将其设置为 tmp.Style:

tmp.Style = this.FindResource("combo_item") as Style;

您是否尝试将 ComboBox 中的 ItemContainerStyle 属性 设置为 "combo_item"? 像这样:

<Style x:Key="ComboBoxBaseStyle" TargetType="{x:Type ComboBox}">
    <Setter Property="ItemContainerStyle" Value="{StaticResource combo_Item}" />

或在代码中

yourComboBoxInstance.ItemContainerStyle = "combo_Item";