2013-04-20 29 views
5

Tôi đang chạy ứng dụng máy tính để bàn WPF trên máy tính bảng ASUS ME400 Intel Atom Z2760. Tất cả đều hoạt động bình thường, nhưng khi tôi sử dụng scrollviewer, di chuyển cuộn bằng ngón tay (vuốt chế độ xoay ngang theo chiều ngang) ở cuối cuộn bằng ngón tay, cửa sổ sẽ di chuyển và bạn thấy thanh tác vụ trong giây lát. Hiệu ứng không được nhìn thấy nếu tôi di chuyển bằng ngón tay của tôi, đã không đến cho đến khi thành lập trong thanh cuộn.Máy tính bảng WPF Ứng dụng Windows Desktop - Sự cố cuộn

Làm cách nào để tránh chuyển động cửa sổ này? Làm thế nào tôi có thể khóa cửa sổ của tôi và không cho phép di chuyển khi tôi cuộn ở cuối thanh cuộn?

Trả lời

6

Trong đối tượng ScrollViewer, nơi bạn đã bật tính năng xoay, đăng ký sự kiện mới cho ManipulationBoundaryFeedback.

<ScrollViewer PanningMode="Both" ManipulationBoundaryFeedback="ScrollViewer_ManipulationBoundaryFeedback"> 
    <!-- your content is here... --> 
</ScrollViewer> 

Trong codebehind, bạn phải xử lý sự kiện này, bằng cách thiết lập Handled tài sản để true:

void ScrollViewer_ManipulationBoundaryFeedback(object sender, ManipulationBoundaryFeedbackEventArgs e) 
{ 
    e.Handled = true; 
} 

(Bằng cách đặt các Handled tài sản để true, chúng tôi đang thực sự nói rằng sự kiện đã được xử lý bởi chúng tôi, vì vậy chúng tôi đang dừng quá trình sủi bọt của tin nhắn trong Visual Tree, trước khi nó đạt đến Window/Application - tùy theo điều kiện nào gây rung lắc.)