我在datagrid中有一个datagridCombox列。 为了使组合框始终像组合框一样显示(点击与否) 组合框实现为
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有交替背景。 我希望datagridrow中的组合框使用与datagridrow中的文本框列相同的背景。此外,当选择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>
答案 0 :(得分:1)
您可以尝试将Background
中的Combobox
DataTemplate
属性设置为Transparent
。