У меня есть DrawingVisual вроде этого:Как получить DrawingVisual площадь
Rect MyRect = new Rect(new Point(0, 0), new Size(100, 100));
DrawingVisual MyVisual = new DrawingVisual();
using (DrawingContext context = MyVisual.RenderOpen()) {
context.DrawRectangle(Brushes.Black, new Pen(), MyRect);
context.PushTransform(new TranslateTransform(50, 50));
context.PushTransform(new ScaleTransform(2, 2));
}
Я хочу, чтобы получить Geometry, который описывает область элемента, в данном случае RectangleGeometry где Rect свойство:
Rect(new Point(50, 50), new Size(200, 200))
Спасибо.
, похоже, работает, но в моем приложении есть некоторые случаи, когда есть странное поведение (результат {0,0,300,300}). См. [Мой вопрос] (http://stackoverflow.com/questions/10451066/visuals-hit-testing), пожалуйста. – gliderkite
Изменен ответ на использование ContentBounds вместо DescendantBounds. Извините, но я смутил двух. Разве это имеет значение? – Clemens
Я попробую, я должен решить проблему другого параллельного вопроса. – gliderkite