HoldingEventHandler Delegate
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
public delegate void HoldingEventHandler(Platform::Object ^ sender, HoldingRoutedEventArgs ^ e);
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(3970862285, 36446, 20414, 152, 70, 48, 166, 55, 10, 252, 223)]
class HoldingEventHandler : MulticastDelegate
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Guid(3970862285, 36446, 20414, 152, 70, 48, 166, 55, 10, 252, 223)]
public delegate void HoldingEventHandler(object sender, HoldingRoutedEventArgs e);
Public Delegate Sub HoldingEventHandler(sender As Object, e As HoldingRoutedEventArgs)
- sender
-
Object
Platform::Object
IInspectable
The object where the event handler is attached.
Event data for the event.
- Attributes
Device family |
Windows 10 (introduced in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduced in v1.0)
|
The following code example shows scenario 3 from the Input sample. This code shows some usage patterns for direct manipulation using the Holding, Tapped, DoubleTapped, and RightTapped events.
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
<Button x:Name="scenario3Reset" Content="Reset" Margin="0,0,10,0"
Click="Scenario3Reset" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Border x:Name="bTapped" Background="Red"
Height="100" Width="150" CornerRadius="20" Margin="20"
BorderBrush="Black" BorderThickness="2">
<TextBlock Style="{StaticResource BasicTextStyle}" Text="Tap"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border x:Name="bDoubleTapped" Background="Red"
Height="100" Width="150" CornerRadius="20" Margin="20"
BorderBrush="Black" BorderThickness="2">
<TextBlock Style="{StaticResource BasicTextStyle}"
Text="Double Tap"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border x:Name="bRightTapped" Background="Red"
Height="100" Width="150" CornerRadius="20" Margin="20"
BorderBrush="Black" BorderThickness="2">
<TextBlock Style="{StaticResource BasicTextStyle}"
Text="Press, Hold and Lift" TextWrapping="Wrap"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Border x:Name="bHolding" Background="Red"
Height="100" Width="150" CornerRadius="20" Margin="20"
BorderBrush="Black" BorderThickness="2">
<TextBlock Style="{StaticResource BasicTextStyle}" Text="Hold"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</StackPanel>
</StackPanel>
public Scenario3()
{
this.InitializeComponent();
bTapped.Tapped += new TappedEventHandler(bTapped_Tapped);
bDoubleTapped.DoubleTapped += new DoubleTappedEventHandler(
bDoubleTapped_DoubleTapped);
bRightTapped.RightTapped += new RightTappedEventHandler(
bRightTapped_RightTapped);
bHolding.Holding += new HoldingEventHandler(bHolding_Holding);
}
private void Scenario3UpdateVisuals(Border border, String gesture)
{
switch (gesture.ToLower())
{
case "holding":
border.Background = new SolidColorBrush(Colors.Yellow);
break;
default:
border.Background = new SolidColorBrush(Colors.Green);
break;
}
((TextBlock)border.Child).Text = gesture;
}
private void bHolding_Holding(object sender, HoldingRoutedEventArgs e)
{
string holdingState =
(e.HoldingState == Windows.UI.Input.HoldingState.Started) ?
"Holding" : "Held";
Scenario3UpdateVisuals(sender as Border, holdingState);
}
private void bDoubleTapped_DoubleTapped(object sender,
DoubleTappedRoutedEventArgs e)
{
Scenario3UpdateVisuals(sender as Border, "Double Tapped");
}
private void bRightTapped_RightTapped(object sender,
RightTappedRoutedEventArgs e)
{
Scenario3UpdateVisuals(sender as Border, "Right Tapped");
}
private void bTapped_Tapped(object sender, TappedRoutedEventArgs e)
{
Scenario3UpdateVisuals(sender as Border, "Tapped");
}
private void Scenario3Reset(object sender, RoutedEventArgs e)
{
Scenario3Reset();
}
private void Scenario3Reset()
{
bTapped.Background = new SolidColorBrush(Colors.Red);
bHolding.Background = new SolidColorBrush(Colors.Red);
bDoubleTapped.Background = new SolidColorBrush(Colors.Red);
bRightTapped.Background = new SolidColorBrush(Colors.Red);
}
Public Sub New()
Me.InitializeComponent()
AddHandler bTapped.Tapped, AddressOf bTapped_Tapped
AddHandler bDoubleTapped.DoubleTapped, AddressOf bDoubleTapped_DoubleTapped
AddHandler bRightTapped.RightTapped, AddressOf bRightTapped_RightTapped
AddHandler bHolding.Holding, AddressOf bHolding_Holding
End Sub
''' <summary>
''' Invoked when this page is about to be displayed in a Frame.
''' </summary>
''' <param name="e">Event data that describes how this page was reached. The Parameter
''' property is typically used to configure the page.</param>
Protected Overrides Sub OnNavigatedTo(e As NavigationEventArgs)
End Sub
Private Sub Scenario3UpdateVisuals(border As Border, gesture As String)
Select Case gesture.ToLower()
Case "holding"
border.Background = New SolidColorBrush(Colors.Yellow)
Exit Select
Case Else
border.Background = New SolidColorBrush(Colors.Green)
Exit Select
End Select
DirectCast(border.Child, TextBlock).Text = gesture
End Sub
Private Sub bHolding_Holding(sender As Object, e As HoldingRoutedEventArgs)
Dim holdingState As String = If((e.HoldingState = Windows.UI.Input.HoldingState.Started), "Holding", "Held")
Scenario3UpdateVisuals(TryCast(sender, Border), holdingState)
End Sub
Private Sub bDoubleTapped_DoubleTapped(sender As Object, e As DoubleTappedRoutedEventArgs)
Scenario3UpdateVisuals(TryCast(sender, Border), "Double Tapped")
End Sub
Private Sub bRightTapped_RightTapped(sender As Object, e As RightTappedRoutedEventArgs)
Scenario3UpdateVisuals(TryCast(sender, Border), "Right Tapped")
End Sub
Private Sub bTapped_Tapped(sender As Object, e As TappedRoutedEventArgs)
Scenario3UpdateVisuals(TryCast(sender, Border), "Tapped")
End Sub
Private Sub Scenario3ResetMethod(sender As Object, e As RoutedEventArgs)
Reset()
End Sub
Private Sub Reset()
bTapped.Background = New SolidColorBrush(Colors.Red)
bHolding.Background = New SolidColorBrush(Colors.Red)
bDoubleTapped.Background = New SolidColorBrush(Colors.Red)
End Sub