我有一个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&gt; DATE2。