Надеюсь, я смогу это объяснить ....
Мы связываем наш DataGrid
с коллекцией, которая исходит из некоторого источника данных. Атрибуты для каждого столбца описаны в другой коллекции, поэтому мы создаем столбцы во время выполнения и устанавливаем свойства в столбце (только для чтения), основываясь на значениях в коллекции атрибутов.Программно привязать конвертер к столбцу в DataGrid
Новое требование является обязательным атрибутом. Для столбцов, которые необходимы, я хотел бы привязать конвертер, который устанавливает цвет фона DataGridCell на основе значения. (Простейший случай конвертера был бы каким-то цветом, если ячейка была пустой, и была бы белой, если бы пользователь ввел значение. Я уверен, что в будущем ожидается более сложная проверка.)
Я думаю, это можно сделать в чем-то вроде того, что я ковырялся с компанией:
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
SnapsToDevicePixels="True">
<TextBox Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content.Text}">
</TextBox>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
(Еще нужно добавить конвертер где-то ....)
Или то, что я хочу сделать, должно быть сделано в код-позади? Любые указатели были бы оценены ...
Очень полезно, спасибо. В частности, речь идет о передаче DataContext в качестве параметра: . –
Number8
Добро пожаловать. Можете ли вы принять ответ? Благодарю. –