2012-01-05 32 views

Trả lời

10

Nếu bạn biết làm thế nào nó vị trí (ví dụ như trong một Canvas) có thể là một cách thích hợp hơn để làm điều này, nhưng nói chung, bạn có thể sử dụng UIElement.TransformToVisual để chuyển đổi giữa của kiểm soát và hệ tọa độ toàn cầu:

var transform = myControl.TransformToVisual(Application.Current.RootVisual) 
var offset = transform.Transform(new Point(0,0)) 

Đảm bảo rằng điều khiển đã trải qua bố cục trước khi cố gắng thực hiện việc này, nếu bạn làm điều đó quá sớm, thông báo lỗi thường không hữu ích.

(MSDN cho thấy phương pháp này có mặt trong WP7, tôi không có SDK được cài đặt để kiểm tra)

+0

Đó là đúng cho tất cả các trường hợp tôi đã cố gắng, trừ khi bàn phím đang được hiển thị. Có cách nào để biết vị trí là gì khi bàn phím được nhập và thoát? – Unknown1987

+0

Không, bàn phím là một phần của hệ điều hành và có vẻ như hệ điều hành chỉ có thể thay đổi hoàn toàn ứng dụng của bạn để hiển thị một số điều khiển văn bản có thể chỉnh sửa. Nếu bạn muốn đạt được một cái gì đó cụ thể, bạn sẽ cần phải đặt một câu hỏi cụ thể hơn. –

+2

Hãy xem [câu hỏi này] (http://stackoverflow.com/questions/4399153/windows-phone-7-keyboard-size), có vẻ như không có giải pháp tốt để xử lý bàn phím. –

Các vấn đề liên quan