C# WPF | Erweiterte Kommunikation zwischen Windows

Nick_SMI

Ensign
Registriert
Sep. 2015
Beiträge
153
Hallo zusammen!

Ich habe folgendes Programm geschrieben (Kurz die Erläuterung)
Es soll über einen Button im Window 2 das Window 4 öffnen.
Im Window 2 befindet sich eine Datagrid namens "PlanEnd"...
Im Window 4 befinden sich 2 ComboBoxen und 3 TextBoxen...

Im Window 4 werden dann ein paar Textboxen gefüllt und die ComboBoxen müssen gewählt werden.

Nun, wenn man einen Button im Window 4 klickt, sollen nun diese "Daten" aus den Boxen an das Window 2 übermittelt werden und in die DataGrid eingefügt werden.
Diese Daten sollen dann an die ItemSource der Datagrid "übermittelt" werden:

Code:
private System.Collections.ObjectModel.ObservableCollection<Plan> _items = new System.Collections.ObjectModel.ObservableCollection<Plan>();

...damit ich nun der Liste "PlanEnd" (dessen ItemSource ja "_items" ist) folgendes zuweisen kann (Daten aus Window 4)

Code:
_items.Add(new Plan(LeerLinie.Text, "---", LeerAbfahrtUm.Text, Convert.ToString(LeerAbfahrtAb.SelectedItem), Convert.ToString(LeerAnkunftAn.SelectedItem), LeerAnkunftUm.Text));


Nun, schaut kompliziert aus und hoffe, ich habe nichts vergessen!
Letztendes will ich Daten aus Window 4 in Window 2 in die DataGrid einfügen...


Grüße und danke an alle, die mir helfen! :)
 
Also Window 2 öffnet Window 4 und die Daten aus Window 4 sollen anschließend wieder in Window 2 zur Verfügung stehen?

Nun, eine (fast zu einfache) Variante wäre, ein drittes, statisches Objekt zu erzeugen, in welches die Daten gespeichert werden.
Eine andere Variante ist Window 4 von einer abgeleiteten Klasse zu schreiben, in der du entweder öffentliche Variablen oder Rückgabewerte nutzt um die Daten auszutauschen.
Eine deutlich kompliziertere Variante sind Delegaten, mit denen du aus Window 4 das Window 2 manipulieren kannst (u.U. ist es nötig Window 2 in den Thread von Window 4 zu invoken).

​Nur mal als Idee :)
 
SoDaTierchen schrieb:
Also Window 2 öffnet Window 4 und die Daten aus Window 4 sollen anschließend wieder in Window 2 zur Verfügung stehen?

Nun, eine (fast zu einfache) Variante wäre, ein drittes, statisches Objekt zu erzeugen, in welches die Daten gespeichert werden.
Eine andere Variante ist Window 4 von einer abgeleiteten Klasse zu schreiben, in der du entweder öffentliche Variablen oder Rückgabewerte nutzt um die Daten auszutauschen.
Eine deutlich kompliziertere Variante sind Delegaten, mit denen du aus Window 4 das Window 2 manipulieren kannst (u.U. ist es nötig Window 2 in den Thread von Window 4 zu invoken).

​Nur mal als Idee :)

hast du einen Code-Beispiel?
Ergänzung ()

Bzw. wenn ich die Daten dann speicher, wie befehle ich Window 2 danach zu gucken, wenn Window 4 geschlossen wird.....
 
Zurück
Oben