Wpf datagridcell datacontext не останется

Я хотел бы вручную установить DataContext DataGridCell поверх стилей, как это:

<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.

Проблема заключается в следующем: после вызова в начале DataContexts DataGridCell отличаются от нуля. Что-то просто меняет их.

Есть ли способ как поймать что? Я искал событие DataContextChanged, но это приводит к следующему тяжелому коду. Или как это вообще возможно? У меня есть DataGridCell внутри DataGrid, подключенного к CollectionViewSource, может быть проблема там? Может ли CollectionViewSource изменить DataGridCell DataContext?

1 ответ

В конце концов я решил эту проблему, добавив в DataGridCell присоединенное свойство зависимостей для хранения пользовательских объектов данных. Это решение позволяет мне использовать DataGridCell DataContext, унаследованный от родителей.

Другие вопросы по тегам