У меня есть приложение, которое отображает таблицы лиги для спортивных лиг. Эти таблицы в основном являются сетками с различными столбцами, представляющими статистику для каждой команды, такую как сыгранные, выигранные, проигранные, забитые и забитые голы и т. Д. Таким образом, таблица лиги имеет одно интересное свойство: для данного соревнования у нас всегда одинаковое количество строк (представляющих команды). Так как элементы управления WPF не имеют внешнего вида, я мог бы использовать ListBox, ListView, ItemsControl напрямую или даже DataGrid. Не должно иметь большого значения.
Однако я хочу чего-то, чего еще не смог достичь: учитывая размер таблицы (на практике размер окна), ВСЕ команды должны быть видны постоянно (без вертикальной прокрутки), вся статистика столбцы (по выбору пользователя) должны быть видны, и размер шрифта должен отражать это так, чтобы он был максимально большим, при этом ни один столбец не становился слишком большим для содержимого.
Я могу легко использовать UniformGrid для получения части без вертикальной прокрутки. Однако настроить размер шрифта не так просто.
Есть, конечно, ViewBox, который позволил бы содержимому каждой ячейки таблицы иметь индивидуальный размер как можно больше, но это могло бы привести к уродству, так как в итоге вы получили бы кучу ячеек с различными размерами .
Я не ожидаю получить простой ответ на этот вопрос, но если это вообще возможно, я хотел бы услышать об этом. В итоге:
Таблица должна изменить размер с окном, всегда показывая все данные без полос прокрутки.
Размер шрифта должен быть установлен на максимально возможный размер, который позволяет каждому столбцу каждой строки отображать все его содержимое.
Размер всех столбцов должен быть наименьшим, что позволяет видеть все содержимое, кроме одного столбца, который «* -sizing» использует оставшееся пространство.
Итак ... Какие-нибудь умные способы сделать это? :)