@romaro

Как написать универсальный стиль для DataGridCell из WPF?

У меня есть конвертер, который вычисляет кисть для заполнения фона ячейки. Проблема в том, что для каждой колонки в таблице мне приходится писать такой код:
<DataGridTextColumn Header="Поволжье" Binding="{Binding PovCluster.QuantityToSupply}">
                    <DataGridTextColumn.CellStyle>
                        <Style TargetType="DataGridCell">
                            <Setter Property="Background" Value="{Binding PovCluster.QuantityToSupply, Converter={StaticResource ResourceKey=needsMatrixCellConverter}}"/>
                        </Style>
                    </DataGridTextColumn.CellStyle>
                </DataGridTextColumn>
                <DataGridTextColumn Header="Юг" Binding="{Binding SouthCluster.QuantityToSupply}">
                    <DataGridTextColumn.CellStyle>
                        <Style TargetType="DataGridCell">
                            <Setter Property="Background" Value="{Binding SouthCluster.QuantityToSupply, Converter={StaticResource ResourceKey=needsMatrixCellConverter}}"/>
                        </Style>
                    </DataGridTextColumn.CellStyle>
                </DataGridTextColumn>


Я пробую написать универсальный стиль:
<DataGridTextColumn Header="Мск-Запад" Binding="{Binding MskWestCluster.QuantityToSupply}">
                    <DataGridTextColumn.CellStyle>
                        <Style TargetType="DataGridCell">
                            <Setter Property="Background" Value="{Binding Path=Content, RelativeSource={RelativeSource Mode=Self}, Converter={StaticResource ResourceKey=needsMatrixCellConverter}}"/>
                        </Style>
                    </DataGridTextColumn.CellStyle>
                </DataGridTextColumn>


Но в конвертер всегда прилетает TextBlock, у которого Text=null.

Как я могу дотянуться до значения ячейки, чтобы передать его в конвертер?
  • Вопрос задан
  • 34 просмотра
Пригласить эксперта
Ответы на вопрос 1
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
напомню, что абсолютно все объекты wpf, доступны в коде..
если ни кто не подкинет изящного xalm решения, возможно, в методах инициализации, это легко будет реализовать в коде
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы