Ändern von Inhalten der Fenster (WPF)
Ich habe eine einfache WPF-Anwendung, die hat zwei Fenster. Der Benutzer füllt in einige Informationen über die ersten Fenster und klickt dann auf Ok, wird Sie in das zweite Fenster. Dies funktioniert gut, aber ich bin versucht zu integrieren mit der Windows in einem einzigen Fenster, so dass nur der Inhalt ändert sich.
Habe ich es geschafft diese zu finden Ressource management beim ändern der Fenster-Inhalt scheint, wie es ist, was ich bin nach. Aber, ich habe Suche für ContentPresenter, konnte aber nicht viel Hilfe, wie ich brauche, es zu benutzen. Zum Beispiel, wenn ich einen ContentPresenter, wo setze ich die vorhandenen XAML-Elemente, die in den beiden Fenstern? Ich vermute, dass die ersten Fenster gehen in den ContentPresenter aber die zweite wird gesetzt werden müssen, irgendwo mit der bei Bedarf eingeschaltet werden.
Jede Hilfe wäre toll. Ein einfaches Beispiel wäre es noch besser.
TIA
InformationsquelleAutor millie | 2011-05-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen
ContentPresenter
wird normalerweise benutzt, wenn restyling vorhandenen Steuerelemente. Es ist der Ort, wo der Inhalt eines Steuerelements platziert. Stattdessen sollten Sie eineContentControl
, das ist einfach ein Steuerelement, das eine content-element. Alternativ könnte man direkt den Inhalt des Fensters.Extrahieren Sie den Inhalt der beiden vorhandenen windows in zwei Benutzersteuerelemente. Dann erstellen Sie ein neues Fenster, in dem host den Inhalt. Je nach Ihren business-Logik legen Sie den Inhalt des Fenster (oder die Fenster ContentControl, wenn Sie wollen zusätzliche "master" - Inhalt), eine der beiden Benutzersteuerelemente.
EDIT:
Als Ausgangspunkt. Das ist nicht vollständig funktionierenden code, nur für den Einstieg. Beachten Sie, dass dies ist eine schlechte Architektur, Sie sollten wahrscheinlich verwenden Sie ein MVVM oder ähnlichen Ansatz, wenn Sie dieses ausgeführt werden!
In der code-behind-Fenster:
wenn u ändern Sie die Fenster-Inhalt Programm leuchtet (wie blinken), was ist der Grund?
Was tun, damit meine blinkt/leuchtet? Sie können sehr spezifisch sein?
ok, hier ist mehr details: ich habe eine einfache combobox erlaubt die wpf-Fenster, seinen Inhalt zu ändern. wenn combobox item Auswahl ändert wpf-Fenster erreicht verschiedenen usercontrol. private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { switch (cmbxMain.SelectedIndex) {
InformationsquelleAutor Daniel Rose
Benutze ich ContentPresenter zum einrasten in die Inhalte. In dem Fenster, das ich etwas wie dieses:
In der Ansicht Modell, habe ich eine Eigenschaft namens " MainContent Typ Objekt:
Was auch immer Sie set MainContent zu zeigen, bis in das Fenster.
Halten die Trennung zwischen view und view model, das ich in der Regel setzen die MainContent-Eigenschaft zu einer anderen Ansicht-Modell verwenden und eine Daten-Vorlage, anzeigen, anzeigen-Modell auf einen Blick:
Legte ich, dass die Daten der Vorlage in einige Mittel-und Ressourcenverzeichnis zusammen mit einem Haufen anderer Ansicht-Modell-zu-Ansicht-Mapper.
InformationsquelleAutor Dale Barnard