Моя цель - отформатировать цвет фона ячейки в RadGridView в моем проекте WPF как значение значения в базовых данных. Эти данные являются динамическими, поэтому я не могу использовать заранее определенные шаблоныWPF: изменение привязки в шаблоне в коде
В моей базовой таблице есть значения RGB (хотя вместо пробелов вместо пробелов, поэтому я использую конвертер для исправления) и в тестовом проекте, где у меня был один столбец «цвет» и шаблон, все работало лакомство:
<Window.Resources>
<local:StringToBrushConverter x:Key="lStringToBrushConverter"></local:StringToBrushConverter>
<DataTemplate x:Key="ColourCellTemplate">
<Border Name="lBorder" BorderThickness="3" Margin="1" CornerRadius="1" Width="100"
BorderBrush="{Binding Colour, Converter={StaticResource lStringToBrushConverter}}">
<TextBlock Background="{Binding ElementName=lBorder, Path=BorderBrush}" ></TextBlock>
</Border>
</DataTemplate>
</Window.Resources>
проблема в настоящее время, как я могу работать с этим шаблоном, который будет использоваться в динамическом сценарии. По существу, все, что мне нужно, чтобы изменить это «цвет» в этой части:
BorderBrush="{Binding Colour, Converter={StaticResource lStringToBrushConverter}}"
, но я не уверен, как это может быть достигнуто в фоновом коде. Я могу использовать TryFindResource, чтобы получить DataTemplate, но следующий шаг для изменения привязки - это то место, где я застрял.
Я посмотрел на this пример от Telerik, который работает в разных обстоятельствах, когда значение сравнивается с другим значением, но оно не решает мою проблему.
Большое спасибо ..
Так почему же CellTemplateSelector не помогает? Он позволяет выбирать шаблон на основе элемента данных, который, как вам кажется, вам нужен. – Evk
Ну, я мог бы иметь сотни строк с другим значением, и я не хочу создавать шаблон для каждого случая. Это будет работать, если у меня есть, например, просто красный, синий, зеленый или что-то, но значения RGB выбираются пользователем с помощью набора цветов. – miriyo
Ваша проблема не ясна тогда. У вас есть значения RGB в каждой строке, представленной свойством Color. Почему вы не можете просто привязываться к Color, как вы описываете, зачем менять привязку? Или вы имеете в виду, что разница в том, что у вас есть 3 столбца (R, G и B) вместо одного? – Evk