В настоящее время я пытаюсь сделать конвертер, который меняет цвет фона одной ячейки в строке DataGrid. Каждая строка представляет один объект CustomTask
. Теперь мой конвертер изменяет backroound всей строки. Это не то, что я хочу, мне нужно изменить фон только одной выбранной ячейки.WPF передать объект конвертеру datagrid и изменить цвет одной ячейки
Мой XAML:
<DataGrid x:Name="customTasksDataGrid" Margin="10,10,10,38" Grid.Column="1" IsReadOnly="True" AutoGenerateColumns="False">
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background" Value="{Binding Path=., Converter={StaticResource converter}}" />
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding ID}"/>
<DataGridTextColumn Header="Foo" Binding="{Binding Foo}"/>
<DataGridTextColumn Header="Bar" Binding="{Binding Bar}"/>
...
</DataGrid.Columns>
</DataGrid>
Мой конвертер:
[ValueConversion(typeof(DataRowView), typeof(Brush))]
public class DateToBrushConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
return null;
CustomTask t = (CustomTask)value;
return new SolidColorBrush(Color.FromArgb(255,0,0,120));
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
Изменение цвета целых Рокс строк совершенно теперь. Как изменить, например, Bar
Цвет фона ячейки в зависимости от Foo
значение?
Спасибо большое, я пытался сделать это, но я думаю, что я забыл 'Binding Path = .' формы –
Ahh .. нет проблем, рад, что это сработало. –