Я хотел бы применить указанный c цвет переднего плана к ячейке Telerik Datagrid на основе данных Itemsource.
Сначала я создал сетку XAML:
<grid:RadDataGrid.Columns>
<grid:DataGridTextColumn PropertyName="Order" Header="#">
</grid:DataGridTextColumn>
<grid:DataGridTextColumn PropertyName="CustomerName" Header="Customer Name" />
<grid:DataGridDateColumn PropertyName="Start" Header="Start" CellContentFormat="{}{0:T}" />
<grid:DataGridDateColumn PropertyName="End" Header="End" CellContentFormat="{}{0:T}"/>
</grid:RadDataGrid.Columns>
</grid:RadDataGrid>
Затем Я применил стиль к столбцу Speci c:
<grid:DataGridTextColumn PropertyName="Order" Header="#">
<grid:DataGridTextColumn.CellContentStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="{Binding Order, Converter={StaticResource converter}}" />
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</grid:DataGridTextColumn.CellContentStyle>
</grid:DataGridTextColumn>
После этого я создал конвертер:
public class ColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
var data = *** ITEMSOURCE ***
if (*** CONDITION ***)
return new SolidColorBrush(Colors.LightBlue);
else
return DependencyProperty.UnsetValue;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
Без конвертера я могу стилизовать текстовое поле переднего плана, но с помощью этого кода я просто получаю пустую ячейку.
Я прочитал кое-что о том факте, что сеттеры UWP больше не поддерживают привязки, но я не смог найти для этого чистый обходной путь. Вы можете мне помочь?