Ich habe eine Anwendung, die Ligatabellen für Sportligen anzeigt. Diese Tabellen sind im Grunde Gitter mit verschiedenen Spalten, die Statistiken für jedes Team darstellen, wie gespielte Spiele, gewonnene, verlorene, erzielte und erzielte Tore. Als solche hat eine Ligatabelle eine interessante Eigenschaft: Für einen bestimmten Wettbewerb haben wir immer den gleichen Betrag von Reihen (die die Mannschaften darstellen). Da WPF-Steuerelemente aussehenlos sind, könnte ich wahrscheinlich eine ListBox, ein ListView, ein ItemsControl direkt oder sogar ein DataGrid verwenden. Sollte nicht so viel ausmachen.Ändern der Schriftgröße in der WPF-Liste oder im Gitter, um das Leerzeichen richtig zu verwenden
Allerdings möchte ich etwas, was ich noch nicht erreichen konnte: Angesichts der Tabellengröße (in der Praxis die Größe des Fensters) sollten ALLE Teams immer sichtbar sein (kein vertikales Scrollen), alle Statistikspalten (wie vom Benutzer ausgewählt) sollten sichtbar sein, und die Schriftgröße sollte dies so reflektieren, dass sie so groß wie möglich ist, ohne dass eine Spalte zu groß wird, damit der Inhalt passt.
Ich kann problemlos ein UniformGrid verwenden, um den no-vertical-Scroll-Teil zu erreichen. Die Anpassung der Schriftgröße scheint jedoch nicht ganz so einfach zu sein. Es gibt natürlich die ViewBox, die es erlauben würde, den Inhalt jeder Tabellenzelle individuell so groß wie möglich zu machen, aber dies würde möglicherweise zur Hässlichkeit führen, da Sie mit einer Reihe von Zellen mit variierenden Ergebnissen enden würden Größen.
Ich erwarte keine einfache Antwort darauf, aber wenn es überhaupt möglich ist, würde ich gerne davon hören. Zusammenfassend:
Tabelle sollte die Größe des Fensters ändern und dabei immer alle Daten ohne Bildlaufleisten anzeigen.
Die Schriftgröße sollte auf die größtmögliche Größe eingestellt werden, damit jede Spalte jeder Zeile ihren gesamten Inhalt anzeigen kann.
Alle Spalten sollten auf die kleinstmögliche Größe skaliert werden, damit alle Inhalte sichtbar sind, mit Ausnahme einer Spalte, die "* -sizing" verwendet, um verbleibenden Platz zu verbrauchen.
Also .. Irgendwelche cleveren Möglichkeiten, dies zu tun? :)
Richtig du bist! +1 Gehirnschaden für mich, ich dachte Viewboxen in den einzelnen Zellen, aber das ist natürlich total schwachsinnig. Ich muss nur die Stretch-Eigenschaften in den Griff bekommen und ich sollte nach Hause frei sein - danke! –