2012-12-16 16 views
7

Jak uzyskać typ wciśniętego wskaźnika (lewy przycisk myszy lub prawy przycisk myszy w dół) w aplikacji C# w stylu Metro? Nie znalazłem obsługi zdarzeń MouseLeftButtonDown w żadnym elemencie interfejsu UI stylu Metro. Zamiast tego powinienem użyć zdarzenia PointerPressed, ale nie wiem, w jaki sposób mogę uzyskać wciśnięty przycisk.PointerPressed: lewy lub prawy przycisk?

+2

istnieje przykładowy kod [tutaj] (http://msdn.microsoft.com/en-us/library/windows/apps/windows .ui.xaml.uielement.pointerpressed) –

Odpowiedz

8

PointerPressed wystarcza do obsługi przycisków myszy:

void MainPage_PointerPressed(object sender, PointerRoutedEventArgs e) 
{ 
    // Check for input device 
    if (e.Pointer.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Mouse) 
    { 
     var properties = e.GetCurrentPoint(this).Properties; 
     if (properties.IsLeftButtonPressed) 
     { 
      // Left button pressed 
     } 
     else if (properties.IsRightButtonPressed) 
     { 
      // Right button pressed 
     } 
    } 
} 
3

Możesz użyć następującego zdarzenia, aby określić, który wskaźnik jest używany i jaki przycisk zostanie naciśnięty.

private void Target_PointerMoved(object sender, PointerRoutedEventArgs e) 
{ 
    Windows.UI.Xaml.Input.Pointer ptr = e.Pointer; 
    Windows.UI.Input.PointerPoint ptrPt = e.GetCurrentPoint(Target); 

    if (ptrPt.Properties.IsLeftButtonPressed) 
    { 
     //Do stuff 
    } 
    if (ptrPt.Properties.IsRightButtonPressed) 
    { 
     //Do stuff 
    } 
} 
Powiązane problemy