Search code examples
c#windows-8microsoft-metro

PointerPressed: left or right button?


How can I get the type of pressed pointer (left mouse down or right mouse down) in a Metro style C# app? I didn't find a MouseLeftButtonDown event handler in any Metro style UI element. I should use PointerPressed event instead, but I don't know how can i get which button was pressed.


Solution

  • PointerPressed is enough to handle mouse buttons:

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