Tôi đang cố gắng thực hiện điều khiển tùy chỉnh bao gồm lưới với một số yếu tố canvas như trẻ em, Khi thao tác vuốt được thực hiện trên lưới, tôi dự định thực hiện một số thao tác với canvas các yếu tố. Tôi không thể xử lý thao tác vuốt cho lưới, tôi đã đăng tương tự trong msdn - win8 Dev forumXử lý thao tác vuốt trong Windows 8 Lưới
Trả lời
Tôi đã ở trong cùng một thuyền như bạn, vì không có mẫu nào ở đó về cách thực hiện, nhưng sau khi xem xét và kiểm tra tài liệu MSDN về cách cử chỉ vuốt được triển khai trên ứng dụng Windows 8 Store bằng C# , đây là những gì tôi đã đưa ra (và nó hoạt động cho ứng dụng của tôi yêu cầu vuốt lên/xuống/trái/phải):
Trước hết, thay vì GestureRecognizer, các sự kiện Thao tác cần được sử dụng, v.v. lưới mà bạn muốn xử lý swiping (cho phép 'nói rằng bạn làm cho nó để nó mất toàn bộ màn hình để nó giải thích các cử chỉ) làm như sau:
Tôi gọi là lưới của tôi swipingS urface và tôi đang xử lý chế độ thao tác cho cả hai trục Y và trục X:
swipingSurface.ManipulationMode = ManipulationModes.TranslateX | ManipulationModes.TranslateY;
Sau đó cấp điện cho các sự kiện thao tác mà bạn muốn được thông báo, trong trường hợp của tôi, tôi chỉ muốn biết thì thao tác bắt đầu và khi nó kết thúc:
swipingSurface.ManipulationStarted += OnManipulationStarted;
swipingSurface.ManipulationCompleted += OnManipulationCompleted;
Làm bất cứ điều gì bạn muốn bắt đầu thao tác, chẳng hạn như nhận điểm ban đầu nếu bạn muốn. Nhưng lừa thực tế là trên các sự kiện ManipulationCompleted, trong đó bạn cần phải nhận được vận tốc phát sinh từ cử chỉ của bạn, như sau:
public void OnManipulationCompleted(object sender, ManipulationCompletedEventArgs e) {
var velocities = e.Velocities;
}
Các ManipulationCompletedEventArgs vận tốc bất động sản sẽ mang lại một cấu trúc kiểu ManipulationVelocities, có chứa các thuộc tính khác bên trong:
- Góc: Tốc độ quay theo độ trên mili giây.
- Mở rộng: Việc mở rộng hoặc chia tỷ lệ theo DIPs trên mili giây.
- Tuyến tính: Tốc độ đường thẳng trong DIP trên mili giây.
Tôi thực sự nhìn vào tuyến tính vận tốc, mà là một điểm có chứa X và Y giá trị cho thấy sự chỉ đạo, trong đó cử chỉ được thực hiện; ví dụ, nếu vuốt lên trên, bạn sẽ nhận thấy rằng giá trị Y là dương, và nếu giá trị Y của nó xuống là âm; tương tự với giá trị X, nếu trượt sang trái, giá trị X là số âm và nếu vuốt sang phải, giá trị X là dương, vì vậy bạn có thể chơi xung quanh với các giá trị đó và kiểm tra hướng vuốt, điểm cuối cùng, v.v. .
Hy vọng điều này sẽ hữu ích.
Vâng, phần vuốt được giải quyết nhờ bạn. Nhưng bây giờ tôi cần phải giải quyết một vấn đề (dunno nếu bạn cũng giải quyết nó). Vuốt không hoạt động trong không gian trống (hãy tưởng tượng rằng bạn có lưới, với ô trống ... bạn không thể vuốt trên các ô đó ngay cả khi bạn nắm bắt các sự kiện đó trong Lưới hoặc trong bố cục) –
@Tiago Almeida bạn có nhận được tất cả các sự kiện khi lưới trống không? –
@RajmohanKathiresan Cuối cùng tôi đã giải quyết nó. Nó chỉ ra rằng bạn cần phải có một nền tảng để bạn có thể nhận được các sự kiện. Ngay cả khi nền đó được đặt thành Trong suốt. –
Bạn có thể thử đặt ManipulationMode trên điều khiển có thể vuốt và xử lý Thao tác ~ sự kiện. Lưu ý rằng một số điều khiển có thể ngừng bong bóng của các sự kiện giao diện người dùng, vì vậy nếu bạn nói đặt điều khiển của bạn bên trong một Nút hoặc một ScrollViewer - các sự kiện có thể không hoạt động.
Cảm ơn bạn, tôi sẽ cố gắng với điều đó, bạn có thể hướng dẫn tôi chỉ định một cử chỉ cho một mạng lưới không. 'geustureRecorgizer = new GestureRecognizer(); geustureRecorgizer.CrossSlideHorizontally = true; geustureRecorgizer.GestureSettings = GestureSettings.CrossSlide; geustureRecorgizer.CrossSliding + = new TypedEventHandler
Xin lỗi, tôi đã không sử dụng GestureRecognizer được nêu ra. –
Bạn có thể xem SwipeHintThemeAnimation
sử dụng GestureRecognizer
để kết nối với điều khiển hình chữ nhật hoặc sửa đổi để sử dụng điều khiển lưới của bạn, xem the documentation.
- 1. Cách xử lý tốt nhất thao tác vuốt cho Android ListActivity
- 2. Thao tác xử lý AddressBook đa luồng iPhone
- 3. Cột Trình quản lý tác vụ Windows - Xử lý
- 4. Thao tác thao tác không kích hoạt
- 5. UTF-8 trong Windows
- 6. Thao tác Byte trong PHP
- 7. Xử lý các sự kiện vuốt trong Sencha Touch 2
- 8. ScrollViewer và xử lý các sự kiện thao tác trên các phần tử con
- 9. Thao tác DOM trong PHP
- 10. Thao tác dữ liệu mạng trong R
- 11. Xử lý UTF-8 trong C++
- 12. Ẩn xử lý lựa chọn văn bản sau khi thao tác trong UIWebView
- 13. Thao tác cho phép tệp Windows trong Java
- 14. Xử lý ngắt trong Windows
- 15. Thao tác mảng Perl
- 16. Thao tác các biểu thức trong R
- 17. Làm cách nào để thực hiện thao tác ma trận 8 x 8 bằng SSE?
- 18. Cách thay đổi hoạt động bằng thao tác vuốt sang trái bên phải
- 19. Xử lý thao tác nhấp và kéo để cuộn theo chiều ngang với mootools hoặc jquery
- 20. Xử lý VirtualKey trong Windows 8 Lưu trữ Apps với C#
- 21. Cách xử lý nội dung HTML trong Windows 8 Metro App
- 22. định xử lý sự kiện cho Tick trường hợp DispatcherTimer trong windows 8 ứng dụng
- 23. Thao tác bit-lật trong T-SQL
- 24. Hoàn tác triển khai - Thao tác DOM
- 25. Windows 8 & Windows Phone 8
- 26. Thao tác bit java
- 27. Nested Thao tác trong Mathematica
- 28. Thao tác chuỗi trong jQuery
- 29. Xử lý Swipe lên, vuốt xuống, vuốt sang trái & Swipe Ngay Cử chỉ trong một ứng dụng WinRT
- 30. Mẫu thao tác chuỗi
Tôi đã cố gắng xử lý con trỏ đã di chuyển, nhập các đại biểu để bắt chước thao tác vuốt, Nhưng tôi không thể phân biệt các cử chỉ Phải-> Trái và Trái-> Phải. Tôi không biết đặt đối tượng GestureRecoginizer cho lưới. –