DocSpencer Geschrieben 30. Juli 2015 Teilen Geschrieben 30. Juli 2015 Moin da draußen, ich habe grade angefangen ein Tool mit verschiedenen Funktionen zu bauen. Nun will ich aber nicht für jede Funktion (Maske) ein eigenes Fenster öffnen, sondern habe ich klassisch als oberstes eine menubar, darunter eine toolbar und als Hauptfeld derzeit ein Stackpanel in dem die Arbeitsmaske dargestellt wird. Wenn ich nun aber als Beispiel einen neuen User anlegen oder statt einen Datensatz zu Verwalten einen selbigen Abrechnen will, möchte ich, dass das Stackpanel die passende Maske anzeigt. Ich hoffe ihr versteht was ich vorhabe und ich habe es nicht zu skurril ausgedrückt Falls eine/r von euch eine Idee hat wie ich das umsetzen kann bzw welchen Themenbereich ich mir dazu anschauen sollte wäre ich für jeden Hinweis mehr als Dankbar!! Vielen Dank schon mal im Voraus Doc Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 30. Juli 2015 Teilen Geschrieben 30. Juli 2015 Wenn du ordentlich nach dem MVVM Pattern arbeitest ist das ziemlich einfach. Im Prinzip hast du ein ContentControl welches die Maske anzeigen soll und an eine Variable deines ViewModels gebunden welche ein anderes ViewModel darstellt. In deiner View hast du dann noch ein DataTemplate welches der View sagt mit welcher anderen View sie ein bestimmtes ViewModel darstellen soll. Wenn du jetzt der Variable im ViewModel ein anderes ViewModel zuweist wird automatisch die dazu passende View angezeigt. Um das mal etwas zu verdeutlichen noch ein paar auszüge: <Window.Resources> <DataTemplate DataType="{x:Type pd:PersonDataVM}"> <pd:PersonDataView /> </DataTemplate> </Window.Resources> <ContentControl Grid.Row="1" Content="{Binding Path=CurrentViewModel}" /> [/PHP] [PHP] BaseVM currentViewModel; public BaseVM CurrentViewModel { get { return currentViewModel; } set { if (currentViewModel != value) { currentViewModel = value; OnPropertyChanged("CurrentViewModel"); } } } Alle ViewModels haben halt BaseVM als Basisklasse. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DocSpencer Geschrieben 31. Juli 2015 Autor Teilen Geschrieben 31. Juli 2015 Vielen Vielen Dank!! Ich schaue mir das Thema MVVM grade an und damit wird sich das sicher umsetzen lassen Doc Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.