2012-03-29 15 views
1

Ich baue eine Anwendung für das Samsung SUR40 in MS Surface 2.0.C# UIElement LostTouchCapture OnLostTouchCapture

Ich kann die LostTouchCapture nicht mehr arbeiten lassen.

Das ist mein XAML-Code:

<Rectangle 
    x:Name="ActiveArea" 
    Fill="Transparent" 
    TouchDown="OnTouchDown" 
    TouchMove="OnTouchMove" 
    LostTouchCapture="OnLostTouchCapture" 
/> 

Ein Stück von meinem C# -Code:

private void OnLostTouchCapture(object sender, TouchEventArgs args) 
{ 
    Console.WriteLine("Hello World"); 
} 

Aufsetzpunkt und Touchmove funktionieren. Aber ich habe ein Problem mit der LostTouchCapture. Die Funktion funktionierte, aber jetzt ist sie kaputt und ich weiß nicht warum.

Antwort

2

Ich habe es nicht wirklich behoben, aber ich verwende stattdessen die TouchLeave="OnTouchLeave".

+0

Ich denke nicht, dass dies die beste Lösung ist, da es ständig feuert, aber es scheint die einzige zu sein, die bisher funktioniert. Ich habe bemerkt, dass, wenn Sie das 'TouchDown'-Ereignis entfernen, das' TouchUp' ausgelöst wird (Sie sollten immer das 'IsManipulationEnable = true' zum gewünschten UI-Element hinzufügen), aber wenn Sie beide setzen, wird das' TouchUp' nicht mehr ausgelöst. Vielleicht hat es damit zu tun, das 'TouchDown'-Ereignis zu behandeln, allerdings habe ich es bereits als' false' markiert und immer noch kein Glück. –

0

Sie waren sowieso die falsche Ereignis verwenden, wenn Sie das Ereignis erhalten möchten, wenn die Berührung das Rechteck verlässt, TouchLeave ist das Ereignis, das Sie suchen, LostTouchCapture Ereignis ist, wenn Sie die TouchDevice auf einem UIElement verfolgen (für DragDrop oder Manipulation) unter Verwendung Capture auf dem .

Verwandte Themen