我有一个WPF Datagrid,它有一些列和行 .

现在,我正在尝试将样式应用于某些DataGridColumn,如下所示,但它得到错误:

类型引用找不到名为'DataGridCell'的公共类型 .

<my:DataGrid>

    <my:DataGrid.Resources>
        <Style x:Key="MyDataGridCellStyle" TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">          
            <Setter Property="Background">
                <Setter.Value>
                    <MultiBinding Converter="{StaticResource CellDateColorConverter}">
                        <Binding Path="Date1"/>
                        <Binding Path="Date2"/>
                    </MultiBinding>
                </Setter.Value>
            </Setter>
        </Style>
    </my:DataGrid.Resources>

    <my:DataGrid.Columns>   
        <my:DataGridTextColumn CellStyle="{StaticResource MyDataGridCellStyle}">
           <my:DataGridTextColumn.ElementStyle> 
           <!-- Stuff -->
           </my:DataGridTextColumn.ElementStyle> 
        </my:DataGridTextColumn>
    </my:DataGrid.Columns>
</my:DataGrid>

我想将整个单元格背景应用于单元格内的文本框 .

例如,下面有效但仅更改单元格内文本框的背景颜色,但它不适用于更改整个单元格背景:

<my:DataGrid.Columns>   
    <my:DataGridTextColumn>
       <my:DataGridTextColumn.ElementStyle> 
           <Style TargetType="TextBlock">
              <Setter Property="Background">
                 <Setter.Value>
                    <MultiBinding Converter="{StaticResource CellDateColorConverter}">
                       <Binding Path="Date1"/>
                       <Binding Path="Date2"/>
                    </MultiBinding>
                 </Setter.Value>
              </Setter>
           </Style>
       </my:DataGridTextColumn.ElementStyle> 
    </my:DataGridTextColumn>
</my:DataGrid.Columns>

CellDateColorConverter静态资源是一个转换器,它比较两个日期并返回一种颜色或另一种颜色,具体取决于Date1> Date2 .