none
[WPF][C#]Datagrid con colore testo differente a seconda della condizione RRS feed

  • Domanda

  • Ciao forse dal titolo sono stato un pò criptico, il mio problema è il seguente ho un datagrid contente una colonna, con un valore double, vorrei  colorare il testo con differenti colori a seconda del range d'appartenenza

    <DataGridTextColumn x:Name="Differenza_Percentuale" Header="Differenza_Percentuale"  Width="*" Binding="{Binding Percentuale_Differenza}">                           

    <DataGridTextColumn.ElementStyle>                               

    <Style TargetType="TextBlock">                                   

    <Setter Property="HorizontalAlignment" Value="Center" />    

                                    <Setter Property="VerticalAlignment" Value="Center" />

                                        <Setter Property="Foreground" Value="{Binding Colore_B}"/>

                                    </Style>                            

                                    </DataGridTextColumn.ElementStyle>            

                </DataGridTextColumn>


    Al momento ho risolto introducento un'ulteriore variabile nelle proprietà

            private string Colore(double Percentuale_Differenza)
            {
                if (Percentuale_Differenza>0)
                    return "red";
    if (Percentuale_Differenza>5)
                    return "green";
    if (Percentuale_Differenza<5)
                    return "blue";
    return "black"
            }

    siccome vorrei fare la stessa cosa per un'altra colonna Data, volevo chiedere quale fosse il metodo migliore per ottenere differenti colori in base al range in WPF. Grazie




    • Modificato StarSquare lunedì 8 luglio 2019 10:14
    lunedì 8 luglio 2019 10:12

Risposte

  • Io per questo tipo di soluzione utilizzo i converter per produrre il colore ed il Template sulla cella per assegnare al background il colore di sfondo calcolato in base al valore.

    Non l'ho mai fatto sulla datagrid standard perché utilizzo una grid di terze parti ma credo sia fattibile anche sulla grid standard.

    saluti


    Sabrina C. - http://www.dotnetwork.it

    • Contrassegnato come risposta StarSquare domenica 28 luglio 2019 10:17
    lunedì 8 luglio 2019 11:12