1

我想通过以下样式手动设置 DataGridCell 的 DataContext:

<Style TargetType="DataGridCell" x:Key="DynamicGridCellStyle">               
<Setter Property="DataContext" Value="{x:Null}"/>
</Style>

然后在其他地方我为列中的所有单元格设置单元格样式:

<DataGridTemplateColumn 
csdpp:CalendarProperties.EnumDay="Tue"
HeaderStyle="{StaticResource DayHeaderStyle}"
CellStyle="{StaticResource DynamicGridCellStyle}">
</DataGridTemplateColumn>

实际上没有 x:Null,而是一些绑定,但没关系,x:Null 也存在问题。

问题是:在开始调用它之后,DataGridCell 的 DataContexts 与 null 不同。有些东西正在改变他们。

有什么办法可以捕捉到什么吗?我一直在寻找 DataContextChanged 事件,但这只会导致下一个繁重的代码。或者这怎么可能?我在 DataGrid 中有连接到 CollectionViewSource 的 DataGridCell,那里可能有问题吗?CollectionViewSource 可以更改 DataGridCell DataContext 吗?

4

1 回答 1

0

最后,我通过向 DataGridCell 添加附加的依赖属性来存储自定义数据对象来解决这个问题。该解决方案也允许我使用从父母继承的 DataGridCell DataContext。

于 2014-08-28T12:18:56.123 回答