Represents the method that will handle pointer message events such as PointerPressed.
Syntax
Attributes
- GuidAttribute("e4385929-c004-4bcf-8970-359486e39f88")
- VersionAttribute(NTDDI_WIN8)
- WebHostHiddenAttribute()
Parameters
- sender
-
Type: System.Object [.NET] | Platform::Object [C++]
The object where the event handler is attached.
- e
-
Type: PointerRoutedEventArgs
Event data for the event.
Remarks
This delegate is used for handling each of the following events:
- PointerPressed
- PointerCanceled
- PointerCaptureLost
- PointerEntered
- PointerExited
- PointerMoved
- PointerReleased
- PointerWheelChanged
Examples
The following code example shows scenario 2 from the Input sample. This code shows some usage patterns for direct manipulation using the PointerPressed, PointerReleased, PointerEntered, PointerExited, and PointerMoved events.
<StackPanel x:Name="Scenario2Output" ManipulationMode="All"> <StackPanel Orientation="Horizontal" Margin="0,10,0,0"> <Button x:Name="scenario2Reset" Content="Reset" Margin="0,0,10,0" Click="Scenario2Reset"/> </StackPanel> <StackPanel Orientation="Horizontal" > <ToggleSwitch x:Name="tbPointerCapture" Header="Pointer Capture" FontSize="20"/> <TextBlock x:Name="txtCaptureStatus" Style="{StaticResource BasicTextStyle}"/> </StackPanel> <Border x:Name="bEnteredExited" Background="Red" Height="300" Width="450" CornerRadius="20" HorizontalAlignment="Left"> <Grid> <TextBlock Style="{StaticResource BasicTextStyle}" Text="" HorizontalAlignment="Center" VerticalAlignment="Center" x:Name="bEnteredExitedTextBlock"/> <Ellipse VerticalAlignment="Bottom" Stroke="Silver" StrokeDashArray="2,2" StrokeThickness="2" Margin="2" x:Name="bEnteredExitedTimer" Width="20" Height="20" RenderTransformOrigin="0.5,0.5"> <Ellipse.RenderTransform > <RotateTransform Angle="0" /> </Ellipse.RenderTransform> </Ellipse> </Grid> </Border> </StackPanel>
int _pointerCount; public Scenario2() { this.InitializeComponent(); bEnteredExited.PointerEntered += bEnteredExited_PointerEntered; bEnteredExited.PointerExited += bEnteredExited_PointerExited; bEnteredExited.PointerPressed += bEnteredExited_PointerPressed; bEnteredExited.PointerReleased += bEnteredExited_PointerReleased; bEnteredExited.PointerMoved += bEnteredExited_PointerMoved; // To code for multiple Pointers (that is, fingers), // we track how many entered/exited. _pointerCount = 0; } private void bEnteredExited_PointerMoved(object sender, PointerRoutedEventArgs e) { Scenario2UpdateVisuals(sender as Border, "Moved"); } private void bEnteredExited_PointerReleased(object sender, PointerRoutedEventArgs e) { ((Border)sender).ReleasePointerCapture(e.Pointer); txtCaptureStatus.Text = string.Empty; } //Can only get capture on PointerPressed (i.e. touch down, mouse click, pen press) private void bEnteredExited_PointerPressed(object sender, PointerRoutedEventArgs e) { if (tbPointerCapture.IsOn) { bool _hasCapture = ((Border)sender).CapturePointer(e.Pointer); txtCaptureStatus.Text = "Got Capture: " + _hasCapture; } } private void bEnteredExited_PointerExited(object sender, PointerRoutedEventArgs e) { _pointerCount--; Scenario2UpdateVisuals(sender as Border, "Exited"); } private void bEnteredExited_PointerEntered(object sender, PointerRoutedEventArgs e) { _pointerCount++; Scenario2UpdateVisuals(sender as Border, "Entered"); } private void Scenario2UpdateVisuals(Border border, String eventDescription) { switch (eventDescription.ToLower()) { case "exited": if (_pointerCount <= 0) { border.Background = new SolidColorBrush(Colors.Red); bEnteredExitedTextBlock.Text = eventDescription; } break; case "moved": RotateTransform rt = (RotateTransform)bEnteredExitedTimer.RenderTransform; rt.Angle += 2; if (rt.Angle > 360) rt.Angle -= 360; break; default: border.Background = new SolidColorBrush(Colors.Green); bEnteredExitedTextBlock.Text = eventDescription; break; } } private void Scenario2Reset(object sender, RoutedEventArgs e) { Scenario2Reset(); } private void Scenario2Reset() { bEnteredExited.Background = new SolidColorBrush(Colors.Green); bEnteredExitedTextBlock.Text = string.Empty; }
Requirements
|
Minimum supported client | Windows 8 |
|---|---|
|
Minimum supported server | Windows Server 2012 |
|
Namespace |
|
|
Metadata |
|
Build date: 12/4/2012