2010-05-27 40 views
6

Có cách nào để có được vị trí được hiển thị hiện tại của điều khiển WPF cửa sổ của nó sau tất cả hiện tại RenderTransform s đã được áp dụng chưa? Tôi có thể bị mù, nhưng tôi không thấy một phương pháp rõ ràng.Vị trí kiểm soát WPF trong cửa sổ?

Trả lời

17

Tôi đoán tôi nên giữ lời nhắn trước khi hỏi ... nhưng thay vì xóa có thể điều này sẽ giúp ai đó sau này.

Bí quyết là để chuyển đổi điểm (0,0) từ trục của kiểm soát với các trục của cửa sổ, vì vậy ...

Point renderedLocation = theControl.TranslatePoint(new Point(0,0), theWindow);

Nếu bạn cần một điểm nội thất trên sự kiểm soát nó hoạt động tương tự, chỉ cần sử dụng điểm cục bộ thay vì (0,0).

Đừng cố gắng khắc phục sự cố từ số Margin hoặc Padding, nó không xuất hiện chính xác.

+2

Không có gì sai khi trả lời câu hỏi của riêng bạn nếu bạn tìm thấy câu trả lời. Thêm vào đó, bạn nên làm cho nó là câu trả lời được chấp nhận. Bằng cách đó, những người tìm kiếm sẽ thấy nó được trả lời. –

+0

Có lẽ bạn có thể đi kèm với một ví dụ đầy đủ cho thấy cách bạn sử dụng điều này? –

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