對於我的問題的簡化版本,我想計算佈局轉換(甚至可能是渲染轉換)形狀的邊界框,以便我可以始終圍繞形狀完美地適合矩形,無論其旋轉方式如何或規模可能。如果你能解決這個問題,我會很高興。獲取WPF元素的真實可視邊界框?
更復雜的問題是計算任何框架元素的可視邊界框。通過'可視邊界框'我的意思是框架元素中最頂部的可見像素決定了頂部邊界,最右邊的可見像素決定了右邊界等。如果你能解決這個問題,我會更加高興。
我試着玩LayoutInformation.GetLayoutSlot(),但這並沒有以預期的方式工作。 '佈局槽'實際上比實際的邊界大得多。我也嘗試使用VisualTreeHelper.GetDescendantBounds(),但由於我的測試形狀的VisualParent受到保護,因此無法訪問此屬性,並決定在繼續深究之前先檢查它。
我希望有人可以提供一種簡單的方法來獲取WPF中元素的真實可視邊框,這是在所有變換之後計算的。如果我的問題沒有說清楚,請告訴我。
當我在我的形狀上執行'GetDescendantBounds()'時,它會返回一個矩形,它是原始非變形形狀的邊界,儘管形狀上有任何變形。如果我使用'GetParent()'獲得了形狀的父對象,然後將該父對象轉換爲一個Visual對象,並將該Visual對象傳遞給'GetDescendantBounds()',它將返回一個比我的形狀大得多的矩形。 – Dalal 2011-02-23 18:04:39