WPF:DataGridComboBoxColumn样式ComboBoxItem

时间:2015-03-27 16:13:21

标签: c# wpf datagridcomboboxcolumn

我在<UserControl.Resources>中定义了这种风格:

<Style x:Name="DropDownStyle" TargetType="{x:Type ComboBoxItem}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Margin="5,2,2,2" Text="{Binding ID, Mode=OneWay}" />
                    <TextBlock Margin="5,2,10,2" Text="{Binding Name, Mode=OneWay}" />
                </StackPanel>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

用于将ComboBoxItem的项目显示为1 Car2 Truck等。

我想知道如何在DataGridComboBoxColumn项目中移动此样式,因为此样式已应用于我的所有其他DataGridComboBoxColumn

我无法弄清楚如何使用ComboBoxItem的{​​{1}}元素来应用样式。

1 个答案:

答案 0 :(得分:0)

我明白了。您可以通过以下方式完成您想要的任务。保持现有的ComboBoxItem样式。为Combobox添加另一种样式,在下面的示例中,MyComboBoxStyle´ and refore to the中的DataGridComboBoxColumn EditingElementStyle'。

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


<DataGridComboBoxColumn EditingElementStyle="{StaticResource MyComboboxStyle}" SelectedItemBinding="{Binding MySelectedItem}" ItemsSource="{StaticResource MyArray}">