2010-06-21 2 views
7

Ich fange an, einige Tests mit einem Touchscreen durchzuführen und habe festgestellt, dass bei einem UIControl das Attribut "IsManipulationEnabled" auf gesetzt ist Wahr, dann werden die MouseRightClick-Ereignisse, die durch das Drücken und Halten der Geste (WIN7) ausgelöst werden, nicht erfasst. Mache ich etwas falsch?Das WPF-Steuerelement erfasst nicht das Drücken-und-Halten-Ereignis (Rechtsklick), wenn IsManipulationEnabled gesetzt ist

public MainWindow() 
    { 
     InitializeComponent(); 
     WC_Rectangle.IsManipulationEnabled = true; 
     WC_Rectangle.MouseRightButtonUp += new MouseButtonEventHandler(WC_Rectangle_MouseRightButtonUp); 
    } 

    void WC_Rectangle_MouseRightButtonUp(object sender, MouseButtonEventArgs e) 
    { 
     System.Diagnostics.Debug.WriteLine("RIGHT CLICK : " + sender.ToString()); 
    } 

Antwort

-2

Nutzungsverhalten Statt

2

Nach der Einstellung IsManipulationEnabled = true; alle touchevents werden erfasst und durch die WC_Rectangle behandelt, die sie Ereignisse Manipulation tut verwandeln. Die Touchevents tunneln also nicht zurück zu dem Steuerelement, das sie ausgelöst hat, was wiederum bedeutet, dass das Steuerelement nicht behandelte Berührungsereignisse für Mausereignisse (Standard) nicht fördern kann. siehe:

http://nui.joshland.org/2010/04/why-wont-wpf-controls-work-with-touch.html

1

Wenn Sie die Manipulationsereignisse abbrechen, sollten Sie die Mausereignisse erhalten.

Verwandte Themen