Autor Beitrag
Shadow73
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mo 24.06.19 21:48 
Hallo zusammen,

ich hatte kurzfristig versucht mich mit Windows Forms auseinanderzusetzen, bin dann aber jetzt bei WPF gelandet und habe folgendes Problem.

Ich habe eine Listbox. Wenn ich ein Item markiere, dann soll das markierte Item, was den Titel darstellt in einem Label angezeigt werden, gleichzeitig soll ein Produkttext in einem Textblock angezeigt werden und in einem weiteren Label der Preis des Artikels.

Ich habe soweit alles hinbekommen, dass er mir den Titel in meinem Label anzeigt, das SelectedItem mir den Titel im Textblock ausgibt.
Was ich jetzt irgendwie nicht hin bekomme ist, einen Produkttext zu hinterlegen, der mir dann für das jeweils markierte Item im Textblock angezeigt wird.

Am schönsten wäre ja, wenn ich für meine ganzen Informationen eine Datenbank anlege und beim markieren des SelectedItems mir der Produkttext aus der Datenbank im Textblock angezeigt wird.

Wie würdet Ihr in so einem Fall vorgehen und wie kann ich so etwas am besten umsetzen?

LG
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4035
Erhaltene Danke: 832

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Di 25.06.19 08:04 
Erzeuge eine passende Klasse Produkt (bzw. englisch Product) und erstelle in deinem ViewModel eine passende Eigenschaft ObservableCollection<Produkt> (welche du dann an die ListBox bindest).
Vom ViewModel aus kannst du dann die benötigten Untereigenschaften des Produktes setzen (und dann z.B. entsprechend der 3-Schichten-Architektur auf die Logikschicht zugreifen, welche dann die Daten aus der Datenzugriffsschicht [z.B. Datenbank oder XML-Datei o.ä.] holt).

Ich hoffe mal, du verwendest schon MVVM, ansonsten solltest du das dringend nachholen (also nicht weiter wie in WinForms arbeiten).

Edit: Als Einstieg kann ich das (englische) MVVM Tutorial empfehlen (es verwendet ItemsControl, welches die Basisklasse u.a. der ListBox ist).