如何指定组合框使用特定的ComboBoxItem模板

时间:2015-07-16 22:09:03

标签: c# wpf combobox

我有一个wpf ComboboxItem模板可以正常工作。 我只希望它通过特定的Combobox风格应用于特定的组合框。我不知道在组合框样式中我应该将它指向组合框项目样式。任何建议

    <Style TargetType="ComboBoxItem">
        <Setter Property="SnapsToDevicePixels" Value="true"/>
        <Setter Property="OverridesDefaultStyle" Value="true"/>
        <Setter Property="HorizontalContentAlignment" Value="Left" />
        <Setter Property="VerticalContentAlignment" Value="Center" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ComboBoxItem">
                    <Border Name="Border" Padding="2" SnapsToDevicePixels="true" BorderThickness="1">
                        <ContentPresenter />
                    </Border>
                    <ControlTemplate.Triggers>
                       ...
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

1 个答案:

答案 0 :(得分:1)

<Style x:Key="s" TargetType="ComboBoxItem">
   ...
</Style>

<ComboBox x:Name="comboBoxWithoutItemStyle"/>

<ComboBox x:Name="comboBoxWithItemStyle" ItemContainerStyle="{StaticResource s}"/>

根据评论进行更新:或作为样式的一部分:

<Style x:Key="s2" TargetType="ComboBox">
    <Setter Property="ItemTemplate" Value="{StaticResource s}"/>
</Style>