C# WPF ListView remove?
Hallo,
hab in meiner ListView Einträge stehen, die auch in der Datenbank (EntityFrameWork)
drinnen sind.
Wenn ich in der ListView ein Element anwähle und auf Löschen button Klicke sollte der Eintrag aus der View und aus der db gelöscht werden.
Leider funktioniert es nicht so ganz wie ich mir das vorstelle.
Jemand ein tipp wie ich es machen kann ?
Hab im Code-behind das Click event verwendet was aber auch nicht so ganz funktioniert hat da ich es ja nur anwählen möchte und dann auf den entsprechenden Button Klicken möchte.
Wie kann ich also das Angeklickte Item im Code auswählen und löschen ?
2 Antworten
Du solltest die ListView via ItemsSource-Property und Binding an deine Datenquelle hängen. Das lässt sich bereits im XAML-Code vornehmen:
<ListView ItemsSource="{Binding YourDataProperty}">
<!-- ... -->
Änderungen am Property, welches deine Daten beinhaltet, müssten registriert werden. Vermutlich bietet sich bei dir eine ObservableCollection an, andernfalls müsstest du das INotifyPropertyChanged-Interface implementieren.
Die Änderungen (Hinzufügen / Entfernen) kannst du via Command oder Event Listener durchführen.
Ein ähnliches Beispiel kannst du dir hier anschauen. Da wird ein ItemsControl-Element an eine Liste von Objekten gehängt. Via Buttonklick kann man weitere Elemente hinzufügen.
Hi,
du hast sicherlich deine Liste im Code-Behind an die Listview gebunden oder ?
Dann kann du einfach sagen:
myList.remove(lv_Inhalt.SelectedItem)
Ich würde dir empfehlen für eine Strukturierte Programmierung mit Oberfläche und funktionalität dich in MVVM einzuarbeiten.
Hier ein kurzer Einstieg:
http://openbook.rheinwerk-verlag.de/visual_csharp_2012/1997_28_005.html