Я использую фигуры WPF для создания шестиугольников (для игровой карты) на холсте. Поработав со ScrollViewer, я решил сам реализовать прокрутку и масштабирование карты, а не использовать функциональность WPF, просто использовать WPF для получения событий для колеса мыши, клавиш со стрелками и т. Д. Я размещаю (Hex Map ) Холст как последний дочерний элемент панели Dock, поэтому он получит все доступное оставшееся пространство. Панель Dock будет настроена на содержание главного окна. Но я хочу выяснить, насколько большим может быть холст, прежде чем помещать на него детей, чтобы я мог центрировать экран по желаемому гексу и добавлять только те фигуры (гексы), которые действительно можно увидеть. При увеличении масштаба я буду полностью удалять полигоны и использовать другой метод рендеринга, а при увеличении масштаба буду добавлять больше деталей.
Есть ли какой-нибудь аккуратный способ получить доступное пространство? Единственный способ, который я могу придумать, это, надеюсь, сработает, это получить текущие размеры окон и вычесть размеры внешних элементов панели док-станции, но это выглядит довольно грязно.