У меня есть datagrid
, который привязан к datatable
, каждая ячейка имеет уникальное значение, поэтому никакие две ячейки не имеют одинакового значения.
Я хочу изменить ячейку со значением 1 (int32) на зеленый цвет. Обратите внимание, что значение 1 является динамическим, это просто пример, оно может находиться в диапазоне от 1 до 90.
Я поискал, и большая часть справки дает вам значение либо ячейки на основе ее координат, то есть (4,2), либо выбранной ячейки. Это не то, что я хочу, я хочу изменить цвет ячейки в зависимости от ее значения.
Есть ли способ сделать это, например, в JavaScript я бы просто назначил каждой ячейке идентификатор, эквивалентный ее значению, а затем что-то вроде $('#' + 1).css('background-color:green;')
(примечание: это может быть неправильный синтаксис, но вы получаете изображение). Есть ли способ сделать это так же просто или стандартный?
Моя сетка данных
<DataGrid Name="grid" ItemsSource="{Binding}" Height="300" Width="900"
AutoGenerateColumns="True"
VerticalScrollBarVisibility="Disabled" HorizontalAlignment="Center" VerticalAlignment="Top" RowHeight="40">
<DataGrid.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</DataGrid.ItemsPanel>
</DataGrid>
Создание таблицы
DataSet dataSet = new DataSet("myDS");
DataTable numbersTable = new DataTable("Numbers");
numbersTable.Columns.Add("Number", typeof(Int32));
for (int i = 1; i < 91; i++)
{
numbersTable.Rows.Add(i);
}
dataSet.Tables.Add(numbersTable);
grid.DataContext = numbersTable.DefaultView;