Legen Sie die Hintergrundfarbe für dynamisch erstellte DataGrid-Spalten in WPF festC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Legen Sie die Hintergrundfarbe für dynamisch erstellte DataGrid-Spalten in WPF fest

Post by Anonymous »

Ich muss eine Hintergrundfarbe für einen DataGridColumn festlegen, in dem die Hintergrundfarbe jeder Zelle basierend auf dem Quellwert der Elemente unterschiedlich sein kann. Vom Dataitem bis zur Hintergrundfarbe für die Zellen der prozentualen Spalte, in denen die Farbeigenschaft den Hex -Wert enthält und umgewandelt werden muss, aber bisher war ich erfolglos, die Lösung zu finden. < /p>
i Ich habe versucht, es zu nähern mit: < /p>

Code: Select all

column.CellStyle = new Style
{
Setters = { new Setter { Property = BackgroundProperty, Value = new Binding("Color") } }
};
< /code>
Aber ich muss den Hex -Wert irgendwie konvertieren und keine Ahnung haben, wie. Ich werde nicht lügen, ich habe KI um Hilfe gebeten, aber es scheint mein Problem nicht zu verstehen.public class DataItem
{
public string Name {get; set;}
public string Percentage {get; set;}
public string Color {get; set;}
}
Dann lade ich die Elemente als Quelle für das DataGrid:

Code: Select all

private void LoadDataGridElements(List items)
{
grid.ItemsSource = null;
grid.Items.Clear();
grid.Columns.Clear();
grid.ItemsSource = items;

DataGridTextColumn column = null;

NewColumn (grid, "Name", true, "Name");
column = NewColumn (grid, "Percentage", false, "Percentage");
}
< /code>
Und schließlich hier ist die Definition für die NewColumn -Methode: < /p>
    private DataGridTextColumn NewColumn(DataGrid grid, string header, bool autoWidth, string bindingPath)
{
DataGridTextColumn dgtc = new DataGridTextColumn { Header = header, Width = new DataGridLength(1, autoWidth ? DataGridLengthUnitType.Auto : DataGridLengthUnitType.Star), Binding = new Binding(bindingPath) };
grid.Columns.Add(dgtc);
return dgtc;
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post