Forum: PC-Programmierung C#: Items einer BindingList<T> abspeichern und wieder öffnen


von Paul Gillesberger (Gast)


Lesenswert?

In meiner Anwendung habe ich 2 Fenster.
Wenn ich in Fenster1 auf einen Button klicke, öffnet sich Fenster2. In 
diesem hat man dann die Möglichkeit über einen Button Items zu einer 
BindingList<T> hinzuzüfügen, die dann in einer ListBox dargestellt 
werden. Bis hier hin funktioniert alles super.
Wenn ich jetzt allerdings Fenster2 schließe und erneut öffne, sind alle 
zuvor erstellten Daten verloren, d.h. die BindingList<T> ist wieder leer 
- was auch logisch ist. Wie kann ich jetzt aber die Items speichern, so 
dass sie beim nächsten Aufruf von Fenster2 wieder vorhanden sind?
Danke für Eure Hilfe!

: Verschoben durch User
von qwertzuiopü+ (Gast)


Lesenswert?


von Stefan (Gast)


Lesenswert?

Google mal nach 'C# Serialisierung'.

Stefan

von Guest (Gast)


Lesenswert?

Einfach in Fenster1 zwischenspeichern?

von Borislav B. (boris_b)


Lesenswert?

Die Daten sollten nicht in der Fenster-Instanz abgelegt werden. 
Genausowenig wie in einer Datei ;-)

Gerade bei WPF bietet sich MVVM Pattern an:
http://de.wikipedia.org/wiki/Model_View_ViewModel

Da werden die Daten in einem Modell (= eigene Klasse(n)) vorgehalten. 
Die Fenster bedienen sich dann an den Daten und können nach Lust und 
Laune geöffnet und geschlossen werden.

Nur beim Starten und Schließen der Anwendung sollte dann das Modell in 
eine Datei serialisiert werden bzw. daraus laden.

von jb (Gast)


Lesenswert?

Ein Thread reicht, im übrigen hast du in beiden schon die passenden 
Antworten (Serialisierung) erhalten!

von Borislav B. (boris_b)


Lesenswert?

jb schrieb:
> Ein Thread reicht, im übrigen hast du in beiden schon die passenden
> Antworten (Serialisierung) erhalten!

Ich würde mal behaupten, dass die bisherigen Antworten in die falsche 
Richtung gehen, da hier noch ein grundlegendes Verständnisproblem 
vorliegen zu scheint...

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.