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:

Wie Sie eine WPF-ListView nicht höher als seinen Inhalt aber passen, um das Fenster mit den anderen Kontrollen?

  1. 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).
  2. 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.
  3. 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

Schreibe einen Kommentar