Для упрощенной версии моей задачи я хотел бы рассчитать ограничивающую рамку для фигуры с преобразованием макета (возможно, даже с преобразованием рендера), чтобы всегда можно было идеально разместить прямоугольник вокруг фигуры, независимо от ее вращение или масштаб может быть. Если вы можете решить это, я буду счастлив.
Более сложной проблемой является вычисление визуальной ограничительной рамки любого элемента каркаса. Под «визуальным ограничивающим прямоугольником» я подразумеваю, что самый верхний видимый пиксель в элементе каркаса определяет верхнюю границу, самый правый видимый пиксель определяет правую границу и т. Д. Если вы сможете решить эту проблему, я буду еще более счастлив .
Я пытался поиграть с LayoutInformation.GetLayoutSlot (), но это не сработало ожидаемым образом. «Слот макета» был НАМНОГО больше, чем фактические границы. Я также пытался использовать VisualTreeHelper.GetDescendantBounds (), но из-за того, что VisualParent моей тестовой фигуры защищен, мне не удалось получить доступ к этому свойству, и решил проверить здесь, прежде чем углубляться в него.
Я надеюсь, что кто-то может предоставить простой способ получить истинную визуальную ограничивающую рамку элемента в WPF, который рассчитывается ПОСЛЕ всех преобразований. Если я не прояснил что-то в своем вопросе, пожалуйста, дайте мне знать.