2种不同的ComboBox样式,具有2种不同的ComboBoxItem样式

时间:2017-07-04 07:32:47

标签: c# wpf xaml combobox

我的WPF-Application中有2个ComboBox-Styles。他们看起来都像这样:

<Style TargetType="{x:Type local:MyComboBox1}">
    <Style.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                ...
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Style.Resources>
    <Setter Property="SnapsToDevicePixels" Value="true" />
    ...
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type local:MyComboBox1}">
             ...
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Style.Triggers />
</Style>

现在我想以不同的方式为每个ComboBox设置ComboBoxItems的样式。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您可以使用ItemContainerStyle属性

<Style TargetType="Combobox" x:Key="myStyleOne">
    <Setter Property="ItemContainerStyle">
        <Setter.Value>
            <Style TargetType="ComboBoxItem">

                <!-- put your style here -->

            </Style>
        </Setter.Value>
    </Setter>
</Style>

然后你可以使用你的风格如下。

<ComboBox Style="{StaticResource myStyleOne}" />