Laden...

Trigger für DataGridRow abhänging von Column Wert

Erstellt von Riker81 vor 12 Jahren Letzter Beitrag vor 12 Jahren 837 Views
R
Riker81 Themenstarter:in
25 Beiträge seit 2009
vor 12 Jahren
Trigger für DataGridRow abhänging von Column Wert

Hallo zusammen,

ich suche einen Trigger mit dem ich die Background Property einer Row in einem DataGrid setzen kann abhängig von dem Wert eines Columns

 <Style x:Key="DataGridRowStyle" TargetType="{x:Type DataGridRow}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=Nummer}" Value="1">
                    <Setter Property="Background" Value="Red" />
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=Nummer}" 
          Value="O">
                    <Setter Property="Background" Value="Green" />
                </DataTrigger>
            </Style.Triggers>
  </Style>

Und mein Grid dazu

<DataGrid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="dgr_Data"
                      ColumnHeaderHeight="30" CanUserSortColumns="False" ItemsSource="{Binding}"
                      AutoGenerateColumns="False" RowHeaderWidth="25">
                <DataGrid.Columns>
                    <DataGridTextColumn Binding="{Binding Name}" Header="Name"></DataGridTextColumn>
                    <DataGridTextColumn Binding="{Binding Nummer}" Header="Nummer"></DataGridTextColumn>
                </DataGrid.Columns>
            </DataGrid>

Wie zu sehen möchte ich bei dem Wert 1 in Feld Nummer den Background auf Red setzen aber das funktioniert nicht 😦

Kann mir jemand helfen?

3.430 Beiträge seit 2007
vor 12 Jahren

Hallo Riker81,

du bist schon auf dem richtigen Weg 😃
Lass das x:Key="DataGridRowStyle" weg dann müsste es schon funktionieren.

Das Problem momentan ist dass du zwar den Style definierst aber ihn nicht zuweist.
Entweder du weißt den Style manuell zu oder machst es ohne Key, was dafür sorgt dass es automatisch auf die DataGridRows übernommen wird

Gruß
Michael

R
Riker81 Themenstarter:in
25 Beiträge seit 2009
vor 12 Jahren

Super, danke jetzt geht es 👍