Moin,
meine VM sieht so aus:
Spoiler anzeigen
In meiner View habe ich folgendes definiert:
Spoiler anzeigen
Wenn der Wert in einem Produkt vorher schon True ist dann wird die Zeile Rot.
Wenn ich den Wert eines ausgewählten Produkts zur RunTime ändere bleibt die Zeile in der Farbe in der sie ist.
Die Klasse Produkt hat INotifyPropertyChanged implementiert die VM auch.
Im Normalfall sollte doch das DataGrid sich aktualisieren auch wenn ich nur ein Item aus der Collection ändere oder übersehe ich was?
Vielleicht auch zuviel programmieren dieses Wochenende.
meine VM sieht so aus:
C#-Quellcode
- private ObservableCollection<Produkt> _produkte = new ObservableCollection<Produkt>();
- public ObservableCollection<Produkt> Produkte
- {
- get { return _produkte; }
- set
- {
- if (Equals(value, _produkte)) return;
- _produkte = value;
- OnPropertyChanged();
- }
- }
- private Produkt _selectedProduct;
- public Produkt SelectedProduct
- {
- get { return _selectedProduct; }
- set
- {
- if (Equals(value, _selectedProduct)) return;
- _selectedProduct = value;
- OnPropertyChanged();
- }
- }
- public MainWindowVM()
- {
- Config.LoadFromXML();
- Produkte = new ObservableCollection<Produkt>(Config.Default.Produkte);
- }
In meiner View habe ich folgendes definiert:
XML-Quellcode
- <DataGrid.RowStyle>
- <Style TargetType="DataGridRow">
- <Style.Triggers>
- <Trigger Property="AlternationIndex" Value="0">
- <Setter Property="Background" Value="LightGray"/>
- </Trigger>
- <Trigger Property="AlternationIndex" Value="1">
- <Setter Property="Background" Value="SlateGray"/>
- </Trigger>
- <DataTrigger Binding="{Binding Import}" Value="True">
- <Setter Property="Background" Value="Red"></Setter>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </DataGrid.RowStyle>
Wenn der Wert in einem Produkt vorher schon True ist dann wird die Zeile Rot.
Wenn ich den Wert eines ausgewählten Produkts zur RunTime ändere bleibt die Zeile in der Farbe in der sie ist.
Die Klasse Produkt hat INotifyPropertyChanged implementiert die VM auch.
Im Normalfall sollte doch das DataGrid sich aktualisieren auch wenn ich nur ein Item aus der Collection ändere oder übersehe ich was?
Vielleicht auch zuviel programmieren dieses Wochenende.