Zum Inhalt springen

C# WPF: Inhalte des Stackpanels durch Menubar wechseln lassen


DocSpencer

Empfohlene Beiträge

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 :D

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...