对于我的问题的简化版本,我想计算布局转换(甚至可能是渲染转换)形状的边界框,以便我可以始终围绕形状完美地适合矩形,无论其旋转方式如何或规模可能。如果你能解决这个问题,我会很高兴。获取WPF元素的真实可视边界框?
更复杂的问题是计算任何框架元素的可视边界框。通过'可视边界框'我的意思是框架元素中最顶部的可见像素决定了顶部边界,最右边的可见像素决定了右边界等。如果你能解决这个问题,我会更加高兴。
我试着玩LayoutInformation.GetLayoutSlot(),但这并没有以预期的方式工作。 '布局槽'实际上比实际的边界大得多。我也尝试使用VisualTreeHelper.GetDescendantBounds(),但由于我的测试形状的VisualParent受到保护,因此无法访问此属性,并决定在继续深究之前先检查它。
我希望有人可以提供一种简单的方法来获取WPF中元素的真实可视边框,这是在所有变换之后计算的。如果我的问题没有说清楚,请告诉我。
当我在我的形状上执行'GetDescendantBounds()'时,它会返回一个矩形,它是原始非变形形状的边界,尽管形状上有任何变形。如果我使用'GetParent()'获得了形状的父对象,然后将该父对象转换为一个Visual对象,并将该Visual对象传递给'GetDescendantBounds()',它将返回一个比我的形状大得多的矩形。 – Dalal 2011-02-23 18:04:39