在运行时更改组合框样式

时间:2016-03-25 11:32:11

标签: c# wpf xaml combobox wpf-style

我有自定义组合框样式

<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}">

2 个答案:

答案 0 :(得分:2)

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

for (Transaction tr : listTransaction) {
cbSetNoInvoice.addItem(tr.getNo_invoice());

答案 1 :(得分:0)

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

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

或代码

yourComboBoxInstance.ItemContainerStyle = "combo_Item";