Hallo liebes Forum,
heute komme ich mal wieder mit einem "Problem". Na ja eher mit einer Frage nach der korrekten und sauberen Umsetzung in WPF.
Die Frage, wie man das macht, brennt mir schon seid über einem Jahr auf dem Herzen, aber die Zeit habe ich genutzt, um die Materie weiter zu lernen.
Ich denke der Titel erklärt das Problem schon ganz gut...
Für das Problem hab ich ein kleines Beispiel nachgeschrieben, was es verdeutlichen soll, und wo ich (mit eurer Hilfe
) nach Finden der Lösung auch alles richtig implementiere - damit die Nachwelt auch noch was hat
Wir haben eine Klasse, die einen Datentyp repräsentiert (in meinem Beispiel einen Song).
Viele von diesen Songs liegen jetzt im
Dort gibt es außerdem das Property
Links neben dem Datagrid gibt es eine Art "Bearbeiten" Feld, wo man die Eigenschaften des aktuell ausgewählten Songs bearbeiten kann.
Wenn ich einen Song selektiere - kein Problem.
Aber was passiert wenn ich jetzt in dem DG mehrere Songs auswähle - dann bearbeite ich immer nur den zuerst ausgewählten, weil der sich noch in der SelectedSong Eigenschaft befindet...
Wenn ich jetzt aber für eine ganze Liste Songs das Album bearbeiten will, dann wäre das schon ein schönes Feature![:)](https://www.vb-paradise.de/wcf/images/smilies/smile.png)
Man muss sich natürlich Gedanken machen, wie man so eine Bearbeitung umsetzten will.
Ich finde folgende Lösung ganz schön:
![](https://www.vb-paradise.de/index.php/Attachment/48429-Screenshot-2020-09-21-210821-png/?thumbnail=1&s=219d1ab8026f853720a8732b6b473a26918e6bef)
In dem Programm, aus dem der Screen stammt, habe ich ebenfalls 2 Songs ausgewählt, wobei einer den Albumtitel "Album 1" und der andere den Albumtitel "Album 2" beinhaltet. Ich habe jetzt sowohl die Möglichkeit, einfach den bereits gesetzten Albumnamen beizubehalten (wenn ich ihn gar nicht bearbeiten will), mich für einen zu entscheiden, oder beide zu löschen.
Jetzt fehlt es bei mir allerdings an Ideen für die Umsetzung.
Ich habe das Beispielprojekt mal angehängt, vielleicht hat der ein oder andere ja Lust ein wenig herumzuprobieren und mir zu helfen, folgendes Verhalten umzusetzten.
Ich freue mich schon auf Ideen - noch einen schönen Abend
Florian
heute komme ich mal wieder mit einem "Problem". Na ja eher mit einer Frage nach der korrekten und sauberen Umsetzung in WPF.
Die Frage, wie man das macht, brennt mir schon seid über einem Jahr auf dem Herzen, aber die Zeit habe ich genutzt, um die Materie weiter zu lernen.
Ich denke der Titel erklärt das Problem schon ganz gut...
Für das Problem hab ich ein kleines Beispiel nachgeschrieben, was es verdeutlichen soll, und wo ich (mit eurer Hilfe
![:)](https://www.vb-paradise.de/wcf/images/smilies/smile.png)
![:)](https://www.vb-paradise.de/wcf/images/smilies/smile.png)
Wir haben eine Klasse, die einen Datentyp repräsentiert (in meinem Beispiel einen Song).
Viele von diesen Songs liegen jetzt im
MainViewModel
in einer ObservableCollection(Of SongViewModel)
und werden an ein DataGrid gebunden.Dort gibt es außerdem das Property
SelectedSong
welches - wie der Name schon sagt - an die SelectedItem Eigenschaft des DG gebunden ist.Links neben dem Datagrid gibt es eine Art "Bearbeiten" Feld, wo man die Eigenschaften des aktuell ausgewählten Songs bearbeiten kann.
Wenn ich einen Song selektiere - kein Problem.
Aber was passiert wenn ich jetzt in dem DG mehrere Songs auswähle - dann bearbeite ich immer nur den zuerst ausgewählten, weil der sich noch in der SelectedSong Eigenschaft befindet...
Wenn ich jetzt aber für eine ganze Liste Songs das Album bearbeiten will, dann wäre das schon ein schönes Feature
![:)](https://www.vb-paradise.de/wcf/images/smilies/smile.png)
Man muss sich natürlich Gedanken machen, wie man so eine Bearbeitung umsetzten will.
Ich finde folgende Lösung ganz schön:
In dem Programm, aus dem der Screen stammt, habe ich ebenfalls 2 Songs ausgewählt, wobei einer den Albumtitel "Album 1" und der andere den Albumtitel "Album 2" beinhaltet. Ich habe jetzt sowohl die Möglichkeit, einfach den bereits gesetzten Albumnamen beizubehalten (wenn ich ihn gar nicht bearbeiten will), mich für einen zu entscheiden, oder beide zu löschen.
Jetzt fehlt es bei mir allerdings an Ideen für die Umsetzung.
Ich habe das Beispielprojekt mal angehängt, vielleicht hat der ein oder andere ja Lust ein wenig herumzuprobieren und mir zu helfen, folgendes Verhalten umzusetzten.
Ich freue mich schon auf Ideen - noch einen schönen Abend
Florian
----
WebApps mit C#: Blazor
WebApps mit C#: Blazor