2012-03-29 3 views
1

Я создаю приложение для Samsung SUR40 в MS Surface 2.0.C# UIElement LostTouchCapture OnLostTouchCapture

Я не могу работать LostTouchCapture.

Это мой XAML код:

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

Кусок моего C# код:

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

приземление и TouchMove работают. Но у меня проблема с LostTouchCapture. Функция работала, но теперь ее сломал, и я не знаю, почему.

ответ

2

Я не исправил это действительно, но вместо этого использую TouchLeave="OnTouchLeave".

+0

Я не думаю, что это лучшее решение, так как оно постоянно стреляет, но похоже, что это единственное, что работает до сих пор. Я заметил, что если вы удаляете событие «TouchDown», запускается «TouchUp» (вы всегда должны добавлять 'IsManipulationEnable = true' к желаемому элементу пользовательского интерфейса), но если вы поместите оба, то« TouchUp »перестанет быть запущенным. Возможно, это связано с обработкой события «TouchDown», однако я уже отметил его как «ложь» и до сих пор не повезло. –

0

Вы использовали неправильное событие в любом случае, если вы хотите, чтобы получить событие, когда прикосновение оставляет прямоугольник, TouchLeave это событие, вы ищете, LostTouchCapture события, когда вы отслеживание TouchDevice по принципу UIElement (для DragDrop или Manipulation) с использованием Capture на TouchDevice.