HoldingEventHandler Delegar
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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)
Parâmetros
- sender
-
Object
Platform::Object
IInspectable
O objeto em que o manipulador de eventos está anexado.
Os dados de evento do evento.
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Exemplos
O exemplo de código a seguir mostra o cenário 3 do exemplo de entrada. Esse código mostra alguns padrões de uso para manipulação direta usando os eventos Holding, Tapped, DoubleTapped e RightTapped .
<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