Hallo Leute,
ich bin hier relativ neu in C# und habe einige Probleme im Bezug auf DataBinding.
Ich versuche es mal so gut wie es geht zu erklären.
Ich habe 2 Xaml's PersonalPlan.xaml & GroupPlan.xaml. Wobei der GroupPlan eine "WrapperKlasse" von Personal Plan ist. Also sprich, rufe ich das PersonalPlan.xaml in dem GroupPlan.xaml Code auf mit namespace deklaration.
Zum Testen habe ich im Code behind xaml.cs mal einige TestDaten hinzugefügt für die beiden Xamls, einen ViewModel gegeben und das als DataContext deklariert. Also hat PersonalPlan.xaml eigene Testdaten und GroupPlan.xaml eigene TestDaten. So wenn ich mein Programm mal starte, zeigt es auch alles Ohne Probleme an. Nur wird beim GroupPlan.xaml(in der gruppenplan-ansicht) leider die TestDaten vom PersonalPlan.xaml.cs angezeigt anstatt die TestDaten im GroupPlan.xaml.cs
Das Problem liegt denke ich mal ans Databinding. bzw DataContext. Da der PersonalPlan ein eigenes DataContext, welches im Code behind steht, hat und deswegen auch diese TestDaten anzeigt anstatt die vom GroupPlan.xaml.cs
Gott ich hoffe das Ihr mir alle folgen könnt, ich bin nicht so gut im erklären
Jedenfalls funktioniert es zwar wenn ich in dem PersonalPlan.xaml.cs keinen DataContext zuweise und stattdessen im GrouPlan.xaml an der Stelle wo ich Personal Plan aufrufe einen DataContext zuweise.
<views:PersonalPlan DataContext="myDataContext"/>
Dann werden die Testdaten vom GroupPlan.xamls.cs ind der GroupPlan-ansicht auch richtig angezeigt. Jedoch wird jetzt in der PersonalPlan-ansicht gar nichts mehr angezeigt(da kein DataKontext klar)
Deshalb frage ich micht jetzt wie es möglich wäre, den DataContext von einem XAML zu überschreiben/neu-setzen wenn dieser xaml von einem anderen xaml aufgerufen wird anstatt den DataKontext im CodeBehind zu nehmen.
gruß
Inno