Мне нужно назначить цвет для строки, которую я добавляю во время выполнения, в DataTable. Как это может быть сделано?Программное назначение цвета в DataGrid
ответ
Вы можете обработать событие LoadRow DataGrid, чтобы определить, когда добавляется строка. В обработчике событий вы можете получить ссылку на DataRow, которая была добавлена в DataTable, которая действует как ваш ItemSource. Затем вы можете обновить цвет DataGridRow, как вам нравится.
void dataGrid_LoadingRow(object sender, Microsoft.Windows.Controls.DataGridRowEventArgs e)
{
// Get the DataRow corresponding to the DataGridRow that is loading.
DataRowView item = e.Row.Item as DataRowView;
if (item != null)
{
DataRow row = item.Row;
// Access cell values values if needed...
// var colValue = row["ColumnName1]";
// var colValue2 = row["ColumName2]";
// Set the background color of the DataGrid row based on whatever data you like from
// the row.
e.Row.Background = new SolidColorBrush(Colors.BlanchedAlmond);
}
}
Чтобы подписаться на события в XAML:
<toolkit:DataGrid x:Name="dataGrid"
...
LoadingRow="dataGrid_LoadingRow">
Или в C#:
this.dataGrid.LoadingRow += new EventHandler<Microsoft.Windows.Controls.DataGridRowEventArgs>(dataGrid_LoadingRow);
ВАЖНО: обязательно всегда назначать по умолчанию для строк, которые не являются окрашивается условием - или любым другим стилем.
См. Мой ответ C# Silverlight Datagrid - Row Color Change.
PS. Я в Silverlight и не подтвердил это поведение в WPF
U может попробовать этот
В XAML
<Window.Resources>
<Style TargetType="{x:Type DataGridRow}">
<Style.Setters>
<Setter Property="Background" Value="{Binding Path=StatusColor}"></Setter>
</Style.Setters>
</Style>
</Window.Resources>
В DataGrid
<DataGrid AutoGenerateColumns="False" CanUserAddRows="False" Name="dtgTestColor" ItemsSource="{Binding}" >
<DataGrid.Columns>
<DataGridTextColumn Header="Valor" Binding="{Binding Path=Valor}"/>
</DataGrid.Columns>
</DataGrid>
В коде у меня есть a класс с
public class ColorRenglon
{
public string Valor { get; set; }
public string StatusColor { get; set; }
}
При установке на DataContext
dtgTestColor.DataContext = ColorRenglon;
dtgTestColor.Items.Refresh();
Если и не установить цвет строки значение по умолчанию серый
и может попробовать этот образец с этим образцом
List<ColorRenglon> test = new List<ColorRenglon>();
ColorRenglon cambiandoColor = new ColorRenglon();
cambiandoColor.Valor = "Aqui va un color";
cambiandoColor.StatusColor = "Red";
test.Add(cambiandoColor);
cambiandoColor = new ColorRenglon();
cambiandoColor.Valor = "Aqui va otro color";
cambiandoColor.StatusColor = "PaleGreen";
test.Add(cambiandoColor);
- 1. Dojo DataGrid, программное создание
- 2. Назначение массива объектов DataGrid
- 3. Зажигалка цвета в DataGrid чередуется строки цвета
- 4. ggplot неправильное назначение цвета
- 5. Назначение ArrayList цвета
- 6. Назначение цвета в строке DataGridView
- 7. неправильное назначение цвета
- 8. Условное форматирование DataGrid Цвета
- 9. изменение цвета строки в DataGrid
- 10. Flex Изменение цвета DataGrid Цвет
- 11. Пользовательские цвета заголовков на Datagrid?
- 12. Два цвета для строки datagrid
- 13. WPF DataGrid Переменные цвета столбцов
- 14. привязка цвета фона ячейки Datagrid
- 15. Назначение случайного цвета из RGB в изображение
- 16. Назначение цвета в соответствии с плавающей переменной
- 17. Изменения назначение слова цвета в Eclipse,
- 18. Изменение цвета фона строки в datagrid
- 19. проблема цвета фона в datagrid (WPF)
- 20. Изменение цвета строк в Compact Framework DataGrid
- 21. Изменение цвета одной ячейки в WPF Datagrid
- 22. WPF DataGrid - Назначение DataContext для строки
- 23. Программное назначение ролей пользователю в MVC 4 через флажки
- 24. Программное назначение столбцов в data.table с динамическими именами столбцов
- 25. ScaleOut Программное обеспечение В DataGrid памяти Использование Hadoop
- 26. Python, случайное целое и назначение цвета
- 27. R: Назначение цветов значения/цвета градиента палитры
- 28. treemap [R]: как исправить назначение цвета
- 29. d3 круговая диаграмма назначение цвета дугам
- 30. AlternatingRowBackground изменения цвета на datagrid edit
убедитесь, чтобы назначить по умолчанию для строк, цвет которых не срабатывает по условию –
спасибо. это был потрясающий простой способ для меня. – Nasenbaer
Не работает. элемент всегда равен нулю – Yusha