将WPFTookit DataGrid单元格样式仅应用于WPF NET 3.5

时间:2017-12-18 17:36:07

标签: wpf datagrid .net-3.5 wpftoolkit

我有一个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。

0 个答案:

没有答案