Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

WPF: Hintergrundfarbe einer Spalte an Daten zur Laufzeit binden

22.12.2018 (👁251)

WPF: Hintergrundfarbe einer Spalte an Daten binden

 

Wie stellt man die Farbe einer Zelle abhängig von den Daten dar?

 

Aufgabe:

ich möchte, dass die Hintergrundfarbe einer DataGrid Tabelle abhängig von einem Eintrag farbig dargestellt wird

 

Lösung:

Über eine Style-und-Setter Definition in der Xaml DataGridTextColumn

                <DataGridTextColumn Header="Hintergrund" >

                    <DataGridTextColumn.CellStyle>

                        <Style TargetType="DataGridCell">

                            <Setter Property="Background" Value="{Binding Hintergrundfarbe}" />

                        </Style>

                    </DataGridTextColumn.CellStyle>

                </DataGridTextColumn>

 

 

 

 

 

Beispiel Code

<DataGrid x:Name="ctlDataGrid" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"

                 AutoGenerateColumns="False"

                 GridLinesVisibility="All"

                 Background="#F0f0f0" 

                 SelectionMode="Single" 

                 IsReadOnly="True" 

                 MouseDoubleClick="ctlDataGrid_MouseDoubleClick"

                  SelectionChanged="CtlDataGrid_SelectionChanged"

                  HeadersVisibility="All"                  

                  Grid.Row="1" 

                 >

 

            <DataGrid.Columns>

                <DataGridTextColumn Header="ID" Binding="{Binding IDFeiertag}"/>

                <DataGridTextColumn Header="Hintergrund" >

                    <DataGridTextColumn.CellStyle>

                        <Style TargetType="DataGridCell">

                            <Setter Property="Background" Value="{Binding Hintergrundfarbe}" />

                        </Style>

                    </DataGridTextColumn.CellStyle>

                </DataGridTextColumn>

                

            </DataGrid.Columns>

 

        </DataGrid>