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, унаследованный от родителей.