Wie Sie eine WPF-ListView nicht höher als seinen Inhalt aber passen, um das Fenster mit den anderen Kontrollen?
Ich versuche mich zu arrangieren, eine WPF-Benutzeroberfläche wie folgt:
- Am oberen Rand des Fensters sind einige Steuerelemente der selbst-Bestimmung der Höhe (effektiv angedockt an der Oberseite des Fensters, aber so groß sind, wie Sie sein wollen).
- Unter diesen controls ist ein ListView. Die ListView enthalten kann, eine variable Anzahl von Elementen jeweils unterschiedlicher Höhe. Das problem: Die ListView darf nicht höher sein, als es sein muss. Wenn alle Elemente in der Liste anzuzeigen, wird einfach ins Fenster passt, will ich die ListView zu genau auf der Höhe ist, um alle Elemente (so sieht das Fenster wie eine web-Seite ist flüssiges layout mit Leerzeichen am Ende). Auf der anderen Seite, wenn alle ListView-Elemente nicht ins Fenster passt, möchte ich die gesamte Benutzeroberfläche anpassen, um das Fenster (als ob die Nummer 3
unten angedockt war, um den unteren Rand des Fensters, und die ListView füllte den verfügbaren Platz). Dies alles hat zu dynamisch anpassen, wie der Benutzer die Fenstergröße und/oder Pressen, die Tasten, die änderung der Listen-Ansicht ist der Inhalt. - Unter der ListView sind einige weitere Steuerelemente der selbst-Bestimmung der Höhe. Diese müssen erscheinen, direkt unter der Listenansicht zu allen Zeiten, mit keine Lücke. Insbesondere Sie darf nicht nur-dock am unteren Rand des Fensters, wenn Sie ' ll passt direkt unter der Listenansicht angezeigt werden.
Lösungen wäre sehr willkommen; ich spielte für einige Zeit, und verwaltet, um die Dinge zu arbeiten außer die Steuerelemente unterhalb der Listenansicht, indem Sie mit einer äußeren DockPanel im Fenster mit den ersten Steuerelementen, die angedockt an die Spitze, und die ListView füllen den übrigen Raum aber VerticalAlignment="Top".
Reine XAML-Lösung wäre ideal, aber ich bin nicht dagegen, code-hinter, wenn es unvermeidbar ist. Bonus-Punkte für eine Lösung, die ermöglicht, dass mehrere solcher Anordnungen zu werden vertikal gestapelt 🙂 vielen Dank für jede Hilfe!!!
InformationsquelleAutor der Frage El Zorko | 2011-03-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen
InformationsquelleAutor der Antwort Elad Katz
Verwenden Raster mit drei Zeilen und legen Sie die Höhe von allen drei Auto so, dass Sie die Größe an den Inhalt.
InformationsquelleAutor der Antwort Akshay J
Kämpfte ich mit der Größe auch. Und die Antwort war wirklich um die Höhe Eigentum meines Grid-Zeilen. Ich habe Folgendes setup:
Also, was wirklich mein problem gelöst war, war die Höhe Eigenschaft der ersten Zeile definition (enthält meine ListBox):
Was das jolly fun...
InformationsquelleAutor der Antwort anhoppe
Ist es nicht genug, um einfach die listview und die unteren Steuerelemente in Ihre eigene stackpanel?
InformationsquelleAutor der Antwort coldandtired