2010-12-15 6 views
4

У нас есть приложение WPF, которое работает на Win 7. С сенсорными жестами в Win 7, прокручивая ListView, приложение «пожимает плечами» на экране, когда конец списка .Windows 7 Сенсорный экран «Shrug»

Это может быть воспроизведено и в Internet Explorer. Если вы загружаете веб-страницу, которая достаточно длинна для создания полосы прокрутки, Windows «пожимает плечами», когда нижняя часть страницы будет достигнута при прокрутке с сенсорными жестами.

Есть ли способ отключить пожатие плечами в Windows или отключить его каким-то образом с кодом в моем приложении WPF? Мне нужно следить, просто отключить пожатие плечами.

+0

Кроме того, я должен добавить, я думаю, что это только делает это, когда приложение полноэкранный. – 2010-12-15 16:06:10

+1

Это называется [«пограничная обратная связь»] (http://msdn.microsoft.com/en-us/library/dd371416.aspx), и вы должны иметь возможность отключить его для своих собственных окон. Не уверен в общесистемной. – 2011-07-05 04:36:46

ответ

4

Ручка ManipulationBoundaryFeedback (т.е. e.Handled = true).

1

Вы можете отключить обратную связь по границе всей системы.

Он находится на панели Panning панели управления «Pen and Touch».

http://www.youtube.com/watch?v=OObTOSglE1w

3

Если вы хотите отключить границу для всех элементов управления в окне, вы должны положить дескриптор ManipulationBoundaryFeedback на первую панель окна, а не на самое окно.

Не работает:

<Window x:Class="TestControls.BoundaryFeedback" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     ManipulationBoundaryFeedback="Control_ManipulationBoundaryFeedback" 
     > 
</Window> 

Работы:

<Window x:Class="TestControls.BoundaryFeedback" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     > 
    <Grid ManipulationBoundaryFeedback="Control_ManipulationBoundaryFeedback"> 
    </Grid> 
</Window> 

В коде позади:

private void Control_ManipulationBoundaryFeedback(object sender, ManipulationBoundaryFeedbackEventArgs e) 
{ 
    e.Handled = true; 
} 
Смежные вопросы