Из документации MSDN для VisualTreeHelper.GetDescendantBounds () :
// Return the bounding rectangle of the parent visual object and all of its descendants.
Rect rectBounds = VisualTreeHelper.GetDescendantBounds(parentVisual);
Я получил это, и оно работает, но я не не хочу включать границы родителя, причина в том, что мой родитель - это страница документа XPS, и поэтому вызов этого просто возвращает границы страницы что не то, что я хочу. Я хочу, чтобы на странице были ограничивающие рамки, то есть только дочерние элементы страницы.
// snippet of my code
Visual visual = paginator.GetPage(0).Visual;
Rect contentBounds = VisualTreeHelper.GetDescendantBounds(visual);
// above call returns the page boundaries
// is there a way to get the bounding box of just the children of the page?
Причина, по которой мне это нужно, заключается в том, что я сохраняю страницу XPS в растровом изображении и должен включать как можно меньше пустого пространства, чтобы ограничить растровое изображение только областью «используемых» страниц.
Нужно ли мне самим перебирать все дочерние элементы визуала и вызывать VisualTreeHelper.GetContentBounds () для каждого из них? Я думал, что будет лучший способ, чем сделать это ...