Moin,
Ich habe eine DataGrid, die sich aus mehreren DataGridTemplateColumns aufbaut.
Die gebundenen Source ist eine OservableCollection, die mit dem INotifyPropertyChanged-Interface aktualisiert wird.
Nun habe ich eine Spalte, in der Änderungen vorgenommen werden müssen, daher DataGridTemplateColumn.CellEditingTemplate
Die Bindings TargetPlaceWarehouse und TargetPlaceName werden nach der Eingabe aus der Datenbank ermittelt und auch korrekt neu gesetzt und angezeigt.
Das einzige, was sich partout nicht aktualisieren lassen will, ist das entsprechende Image:
Die ObservableCollection enthält Elemente vom Typ einer von mir definierten Klasse und aktualisieren tue ich das auf dieses Weise:
In der Überwachung kann ich sehen, dass alle Werte für das Objekt korrekt aktualisiert werden, auch der Pfad zum Bild!
Innerhalb des DataGrid wird auch alles korrekt visuell aktualisiert, nur eben das Bild nicht. Der Pfad stimmt, wenn ich den kopiere und initial setze, wird es angezeigt.
Nur bei der Aktualisierung will es nicht.
Wär schön, wenn ihr wieder mal auf meinen Denkfehler aufmerksam macht
Danke und Gruß
Arne
Ich habe eine DataGrid, die sich aus mehreren DataGridTemplateColumns aufbaut.
Die gebundenen Source ist eine OservableCollection, die mit dem INotifyPropertyChanged-Interface aktualisiert wird.
Nun habe ich eine Spalte, in der Änderungen vorgenommen werden müssen, daher DataGridTemplateColumn.CellEditingTemplate
HTML Code:
<DataGridTemplateColumn Header="Ziel" Width="250"> <DataGridTemplateColumn.CellEditingTemplate> <DataTemplate> <TextBox HorizontalAlignment="Stretch" VerticalAlignment="Stretch" VerticalContentAlignment="Center" FontSize="16"/> </DataTemplate> </DataGridTemplateColumn.CellEditingTemplate> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <StackPanel Margin="5" Orientation="Horizontal"> <Border BorderBrush="#ccc" BorderThickness="1"> <StackPanel Width="185" VerticalAlignment="Center"> <TextBlock Text="{Binding TargetPlaceWarehouse}"/> <TextBlock Text="{Binding TargetPlaceName}" FontWeight="Bold"/> </StackPanel> </Border> <Button Content="..." Width="48" Height="48" VerticalAlignment="Center" Cursor="Hand"/> </StackPanel> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn>
Das einzige, was sich partout nicht aktualisieren lassen will, ist das entsprechende Image:
HTML Code:
<DataGridTemplateColumn Header="Buchungstyp" Width="150"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <Image Source="{Binding BookingDirectionImagePath, Mode=TwoWay}" Width="140" HorizontalAlignment="Center" VerticalAlignment="Center"/> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn>
Code:
DataRow row = dt.Rows[0]; BookingItemModel item = (BookingItemModel)dgBookingData.SelectedItem; item.BookingDirectionImagePath = @"/GUI.Umlagerung;component/images/dummy.png"; item.TargetPlaceId = row.Field<int>("PlatzID"); item.TargetPlaceName = row.Field<string>("Kurzbezeichnung"); item.TargetPlaceWarehouse = row.Field<string>("Lagerkennung"); item.TargetIsLocked = row.Field<bool>("IstGesperrt"); item.TargetIsSlx = row.Field<bool>("IsSlx");
Innerhalb des DataGrid wird auch alles korrekt visuell aktualisiert, nur eben das Bild nicht. Der Pfad stimmt, wenn ich den kopiere und initial setze, wird es angezeigt.
Nur bei der Aktualisierung will es nicht.
Wär schön, wenn ihr wieder mal auf meinen Denkfehler aufmerksam macht
Danke und Gruß
Arne
Comment