2010-05-23 3 views
5

Làm cách nào để có được tọa độ trên bên trái của một phần tử khung giới hạn hình chữ nhật?lấy tọa độ của một hình chữ nhật bao quanh khung công tác

let fe : FrameworkElement = ea.Item.Content 
    let p = fe.TranslatePoint(new Point(0.0, 0.0), null) 

Mã trước đó cho tôi: Trường, hàm tạo hoặc thành viên 'TranslatePoint' không được xác định. Tôi bối rối như MSDN Hiển thị này như một memeber của FrameworkElement thừa hưởng từ UIElement:

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement_members(v=VS.100).aspx

Trả lời

12

Sử dụng element.TranslatePoint(new Point(0.0, 0.0), null) để có được các tọa độ trên bên trái của element liên quan đến các phần tử gốc logic. Nếu bạn muốn nó liên quan đến một phần tử khác, hãy xác định nó ở tham số thứ hai thay vì null. Sau đó, bạn có thể sử dụng ActualWidthActualHeight để tính toàn bộ hình chữ nhật.

+0

Trường, hàm tạo hoặc thành viên 'TranslatePoint' không được xác định – akaphenom

+6

Nó được định nghĩa trong WPF. Trong Silverlight, bạn phải sử dụng 'element.TransformToVisual (root) .Transform (new Point (0.0, 0.0))'. –

+0

Bingo! bạn có biết tại sao như vậy không? – akaphenom