2009-05-14 16 views
0

Im Eintragsformular meiner wpf-Anwendung habe ich eine Liste von Schaltflächen, wo der Benutzer auswählen kann, wo er hin will, z. Geben Sie einen neuen Kunden ein, führen Sie den Bericht aus.wpf navigate form zu form?

Wie können Sie das Formular nach der Benutzerauswahl am besten anzeigen (z. B. neuen Kunden eingeben)? Ich möchte nicht, dass das Formular erscheint. Auch das Ausblenden der aktuellen Arbeit und das Anzeigen des nächsten Formulars funktionieren nicht, da die wpf-Anwendung in der window32-App gehostet wird.

Meine Vermutung ist es, jede der Funktionen in der Benutzersteuerung zu bauen. Laden Sie auf der Einstiegsseite alle Benutzerkonturen in XAML, aber verstecken Sie sie. Zeigen Sie das entsprechende Benutzersteuerelement an, wenn der Benutzer es auswählt.

Da ich neu bei WPF bin, bin ich mir nicht sicher, ob dies der richtige Weg ist. Es scheint so, als ob beim Laden aller Steuerelemente Overhead ist.

Danke für Ihre Hilfe.

Angela

Antwort

2

Haben Sie eine Liste aller Tasten auf der linken Seite des Fensters

Button 1 ---------------------- 
Button 2 |  User Control | 
     |  Container  | 
etc.  |--------------------| 

auf der Auswahl basiert auf der linken Seite, dh Taste 1 = neuen Kunden, dann der Benutzer die Kontrolle über die rechts wird die Implementierung des Benutzersteuerungs-Neukunden geladen und in den Container platziert, ähnlich, wenn er eine andere Option drückt, wird eine andere Implementierung in den Container platziert. Auf diese Weise können Sie seine vorherige Arbeit erledigen, wenn er fertig ist oder zu einer anderen Option gewechselt ist.

1

Was Sie vorschlagen, ist ein ziemlich allgemeiner Ansatz, einen, den ich wahrscheinlich empfehlen würde.

Wenn Sie wirklich zwischen den Fenstern wechseln müssen, können Sie dies tun.

Application.Current.MainWindow = newWindow; 
     newWindow.Show(); 
     sourceWindow.Close(); 

Wo neue Fenster ein Verweis auf Fenster Sie wollen zeigen, und sourceWindow ist das aktuelle Fenster