2010-12-15 3 views
4

Nous avons une application WPF qui fonctionne sur Win 7. Avec des gestes tactiles dans Win 7, tout en faisant défiler un ListView, l'application "hausse" sur l'écran lorsque la fin de la liste est atteint.Windows 7 Écran tactile "Shrug"

Ceci peut également être reproduit dans Internet Explorer. Si vous chargez une page Web suffisamment longue pour produire une barre de défilement, Windows «augmente» l'IE lorsque le bas de la page est atteint tout en faisant défiler avec des gestes tactiles.

Existe-t-il un moyen de désactiver le haussement d'épaules dans Windows ou le désactiver d'une manière ou d'une autre avec du code dans mon application WPF? Je dois garder le contact, juste éteindre le haussement d'épaules.

+0

Aussi je dois ajouter, je pense qu'il ne fait que quand l'application est plein écran. –

+1

Ceci est appelé ["boundary feedback"] (http://msdn.microsoft.com/en-us/library/dd371416.aspx), et vous devriez être capable de le désactiver pour votre propre fenêtre (s). Vous n'êtes pas sûr de l'ensemble du système. –

Répondre

4

manipuler le ManipulationBoundaryFeedback (à savoir e.Handled = true).

3

Si vous voulez désactiver la limite pour tous les contrôles dans une fenêtre, vous devez placer le handle ManipulationBoundaryFeedback sur le premier panneau de la fenêtre, pas sur la fenêtre elle-même.

ne fonctionne pas:

<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> 

Travaux:

<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> 

Dans le code derrière:

private void Control_ManipulationBoundaryFeedback(object sender, ManipulationBoundaryFeedbackEventArgs e) 
{ 
    e.Handled = true; 
} 
+1

Super! J'ai lutté avec ce problème pendant longtemps. Il n'est vraiment pas clair que la manipulation sur la fenêtre ne fonctionne pas. – Jens