WPF Как сделать фон DataGridComboBoxColumn таким же, как DataGridTextBoxColumn

У меня есть столбец datagridCombox в datagrid. Чтобы поле со списком отображалось как поле со списком все время (щелчок или нет), поле со списком реализовано как это

xmlns:dg="http://schemas.microsoft.com/wpf/2008/toolkit"

                <dg:DataGridTemplateColumn Header="Time Unit" x:Name="timeUnit" >
                    <dg:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <ComboBox SelectedValue="{Binding RelParams.TimeUnit}" 
                                      Background="White" BorderBrush="{x:Null}"
                                      ItemsSource ="{Binding TimeUnitList}" >
                            </ComboBox>
                        </DataTemplate>
                    </dg:DataGridTemplateColumn.CellTemplate>
                </dg:DataGridTemplateColumn>

Теперь проблема в том, что datagridrow имеет чередующийся фон. Я хочу, чтобы поле со списком в сетке данных использовало тот же фон, что и столбец текстового поля в сетке данных. Кроме того, когда выбрана сетка данных, поле со списком должно быть выделено тем же цветом, что и остальная часть строки. Как это сделать? Спасибо

<Style x:Key="DataGridCellStyle" TargetType="{x:Type dg:DataGridCell}">
    <Setter Property="ContextMenu" Value="{DynamicResource cellContextMenu}" />
</Style>
<Style x:Key="DataGridRowStyle"  TargetType="{x:Type dg:DataGridRow}">
    <Style.Triggers>
        <Trigger Property="AlternationIndex" Value="1" >
            <Setter Property="Background" Value="Beige" />
        </Trigger>
    </Style.Triggers>
    <Setter Property="Margin" Value="0 2 0 2" />            
</Style>
<Style x:Key="DataGridStyle" TargetType="{x:Type dg:DataGrid}">
    <Setter Property="AlternationCount" Value="2" />
    <Setter Property="RowStyle" Value="{StaticResource DataGridRowStyle}" />
    <Setter Property="CellStyle" Value="{StaticResource DataGridCellStyle}" />
</Style>

person toosensitive    schedule 20.03.2013    source источник


Ответы (1)


Вы можете попробовать установить свойство Background Combobox в вашем DataTemplate на Transparent.

person Mash    schedule 20.03.2013
comment
Отлично, это работает. Большое спасибо. Я должен был подумать о том, чтобы попробовать это. Должно быть старый. - person toosensitive; 21.03.2013