Hallo Manfred,
ich bin leider erst jetzt zum Testen gekommen.
Auch das ohne Erfolg.
Du Schreibst "vor der Aktualisierung des "Konverters"" - muss ich da nochmals explizit etwas anstoßen, um die Aktualisierung auszuführen?!
Hier mal den Code für Converter und DataGrid-Style - vielleicht habe ich hier ja noch etwas falsch gemacht:
Converter:
'<DebuggerStepThrough()>
Public Class cvRowStateColor
Implements IValueConverter
Public Function Convert(ByVal value As Object, ByVal targetType As _
Type, ByVal parameter As Object, ByVal culture As _
System.Globalization.CultureInfo) As Object Implements _
IValueConverter.Convert
Dim item As DataGridRow = CType(value, DataGridRow)
Dim DCP As Object = item.DataContext
If DCP.GetType().Name = GetType(DataRowView).Name Then
Dim rv As DataRowView = CType(item.DataContext, DataRowView)
Dim dr As DataRow = rv.Row
Select Case dr.RowState
Case DataRowState.Added
Return Brushes.Green
Case DataRowState.Deleted
Return Brushes.Red
Case DataRowState.Modified
Return Brushes.Yellow
Case Else
Return Brushes.LightGray
End Select
Else
Return Brushes.LightGray
End If
End Function
Public Function ConvertBack(ByVal value As Object, ByVal targetType As _
System.Type, ByVal parameter As Object, ByVal culture As _
System.Globalization.CultureInfo) As Object Implements _
System.Windows.Data.IValueConverter.ConvertBack
Return Nothing
End Function
End Class Style:
<Style x:Key="RowStateStyle" TargetType="{x:Type DataGridRow}">
<Setter Property="Background" Value="{Binding Converter={StaticResource" & _
"cvRowStateColor}, RelativeSource={RelativeSource Self}}"/>
</Style>DataGrid:
<DataGrid IsSynchronizedWithCurrentItem="True" _
ItemContainerStyle="{StaticResource RowStateStyle}" Margin="5,10,5,5" _
AutoGenerateColumns="False" EnableRowVirtualization="True" Grid.Row="1" _
ItemsSource="{Binding}" Name="AuftragslisteDataGrid" _
RowDetailsVisibilityMode="VisibleWhenSelected">
<DataGrid.Columns>
<DataGridTextColumn x:Name="IDColumn" Binding="{Binding" & _
"Path=ID}" Header="ID" IsReadOnly="True" />
<DataGridTextColumn x:Name="NameDatendateiColumn" _
Binding="{Binding Path=NameDatendatei}" Header="Name" & _
"Datendatei" />
<DataGridTextColumn x:Name="NameSchweissdatenColumn" _
Binding="{Binding Path=NameSchweissdaten}" Header="Name" & _
"Schweissdaten" />
<DataGridTextColumn x:Name="LaufColumn" Binding="{Binding" & _
"Path=Lauf}" Header="Lauf" />
<DataGridTextColumn x:Name="AuftragNrColumn" Binding="{Binding" & _
"Path=AuftragNr}" Header="Auftrag Nr" />
<DataGridTextColumn x:Name="StatusColumn" Binding="{Binding" & _
"Path=Status}" Header="Status" />
</DataGrid.Columns>
</DataGrid> |