ManipulationCompletedRoutedEventArgs Classe
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.
Fornece dados ao evento ManipulationCompleted.
public ref class ManipulationCompletedRoutedEventArgs sealed : RoutedEventArgs
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ManipulationCompletedRoutedEventArgs final : RoutedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ManipulationCompletedRoutedEventArgs final : RoutedEventArgs
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ManipulationCompletedRoutedEventArgs : RoutedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ManipulationCompletedRoutedEventArgs : RoutedEventArgs
Public NotInheritable Class ManipulationCompletedRoutedEventArgs
Inherits RoutedEventArgs
- Herança
- 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 4 do exemplo de entrada. Esse código mostra alguns padrões de uso para manipulação direta usando os eventos ManipulationStarting, ManipulationStarted, ManipulationDelta, ManipulationInertiaStarting e ManipulationCompleted .
private TransformGroup _transformGroup;
private MatrixTransform _previousTransform;
private CompositeTransform _compositeTransform;
private bool forceManipulationsToEnd;
public Scenario4()
{
this.InitializeComponent();
forceManipulationsToEnd = false;
ManipulateMe.ManipulationStarting +=
new ManipulationStartingEventHandler(
ManipulateMe_ManipulationStarting);
ManipulateMe.ManipulationStarted +=
new ManipulationStartedEventHandler(
ManipulateMe_ManipulationStarted);
ManipulateMe.ManipulationDelta +=
new ManipulationDeltaEventHandler(
ManipulateMe_ManipulationDelta);
ManipulateMe.ManipulationCompleted +=
new ManipulationCompletedEventHandler(
ManipulateMe_ManipulationCompleted);
ManipulateMe.ManipulationInertiaStarting +=
new ManipulationInertiaStartingEventHandler(
ManipulateMe_ManipulationInertiaStarting);
InitManipulationTransforms();
}
private void InitManipulationTransforms()
{
_transformGroup = new TransformGroup();
_compositeTransform = new CompositeTransform();
_previousTransform = new MatrixTransform() {
Matrix = Matrix.Identity };
_transformGroup.Children.Add(_previousTransform);
_transformGroup.Children.Add(_compositeTransform);
ManipulateMe.RenderTransform = _transformGroup;
}
private void ManipulateMe_ManipulationStarting(object sender,
ManipulationStartingRoutedEventArgs e)
{
forceManipulationsToEnd = false;
e.Handled = true;
}
private void ManipulateMe_ManipulationStarted(
object sender, ManipulationStartedRoutedEventArgs e)
{
e.Handled = true;
}
private void ManipulateMe_ManipulationInertiaStarting(
object sender, ManipulationInertiaStartingRoutedEventArgs e)
{
e.Handled = true;
}
private void ManipulateMe_ManipulationDelta(
object sender, ManipulationDeltaRoutedEventArgs e)
{
if (forceManipulationsToEnd)
{
e.Complete();
return;
}
_previousTransform.Matrix = _transformGroup.Value;
Point center = _previousTransform.TransformPoint(
new Point(e.Position.X, e.Position.Y));
_compositeTransform.CenterX = center.X;
_compositeTransform.CenterY = center.Y;
_compositeTransform.Rotation = (e.Delta.Rotation * 180) / Math.PI;
_compositeTransform.ScaleX =
_compositeTransform.ScaleY = e.Delta.Scale;
_compositeTransform.TranslateX = e.Delta.Translation.X;
_compositeTransform.TranslateY = e.Delta.Translation.Y;
e.Handled = true;
}
private void ManipulateMe_ManipulationCompleted(object sender,
ManipulationCompletedRoutedEventArgs e)
{
e.Handled = true;
}
private void Scenario4Reset(object sender, RoutedEventArgs e)
{
Scenario4Reset();
}
void Scenario4Reset()
{
forceManipulationsToEnd = true;
ManipulateMe.RenderTransform = null;
InitManipulationTransforms();
}
Private _transformGroup As TransformGroup
Private _previousTransform As MatrixTransform
Private _compositeTransform As CompositeTransform
Private forceManipulationsToEnd As Boolean
Public Sub New()
Me.InitializeComponent()
forceManipulationsToEnd = False
AddHandler ManipulateMe.ManipulationStarting, AddressOf ManipulateMe_ManipulationStarting
AddHandler ManipulateMe.ManipulationStarted, AddressOf ManipulateMe_ManipulationStarted
AddHandler ManipulateMe.ManipulationDelta, AddressOf ManipulateMe_ManipulationDelta
AddHandler ManipulateMe.ManipulationCompleted, AddressOf ManipulateMe_ManipulationCompleted
InitManipulationTransforms()
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 InitManipulationTransforms()
_transformGroup = New TransformGroup()
_compositeTransform = New CompositeTransform()
_previousTransform = New MatrixTransform() With { _
.Matrix = Matrix.Identity _
}
_transformGroup.Children.Add(_previousTransform)
_transformGroup.Children.Add(_compositeTransform)
ManipulateMe.RenderTransform = _transformGroup
End Sub
Private Sub ManipulateMe_ManipulationStarting(sender As Object, e As ManipulationStartingRoutedEventArgs)
forceManipulationsToEnd = False
e.Handled = True
End Sub
Private Sub ManipulateMe_ManipulationStarted(sender As Object, e As ManipulationStartedRoutedEventArgs)
e.Handled = True
End Sub
Private Sub ManipulateMe_ManipulationDelta(sender As Object, e As ManipulationDeltaRoutedEventArgs)
If forceManipulationsToEnd Then
e.Complete()
Exit Sub
End If
_previousTransform.Matrix = _transformGroup.Value
Dim center As Point = _previousTransform.TransformPoint(New Point(e.Position.X, e.Position.Y))
_compositeTransform.CenterX = center.X
_compositeTransform.CenterY = center.Y
_compositeTransform.Rotation = (e.Delta.Rotation * 180) / Math.PI
_compositeTransform.ScaleX = InlineAssignHelper(_compositeTransform.ScaleY, e.Delta.Scale)
_compositeTransform.TranslateX = e.Delta.Translation.X
_compositeTransform.TranslateY = e.Delta.Translation.Y
e.Handled = True
End Sub
Private Sub ManipulateMe_ManipulationCompleted(sender As Object, e As ManipulationCompletedRoutedEventArgs)
e.Handled = True
End Sub
Private Sub Scenario4ResetMethod(sender As Object, e As RoutedEventArgs)
Reset()
End Sub
Private Sub Reset()
forceManipulationsToEnd = True
ManipulateMe.RenderTransform = Nothing
InitManipulationTransforms()
End Sub
Private Shared Function InlineAssignHelper(Of T)(ByRef target As T, value As T) As T
target = value
Return value
End Function
Construtores
ManipulationCompletedRoutedEventArgs() |
Inicializa uma nova instância da classe ManipulationCompletedRoutedEventArgs . |
Propriedades
Container |
Obtém o UIElement que é considerado o contêiner da manipulação. |
Cumulative |
Obtém as alterações gerais desde o início da manipulação. |
Handled |
Obtém ou define um valor que marca o evento roteado como manipulado. A configuração como true impede que a maioria dos manipuladores ao longo da rota de eventos manimensões do mesmo evento novamente. |
IsInertial |
Obtém se o evento ManipulationCompleted ocorre durante a inércia. |
OriginalSource |
Obtém uma referência ao objeto que gerou o evento. Isso geralmente é uma parte de modelo de um controle em vez de um elemento que foi declarado na interface do usuário do aplicativo. (Herdado de RoutedEventArgs) |
PointerDeviceType |
Obtém o PointerDeviceType para o dispositivo de ponteiro envolvido na manipulação. |
Position |
Obtém as coordenadas de tela x e y da entrada touch na posição concluída. |
Velocities |
Obtém as velocidades que são usadas para a manipulação. |
Aplica-se a
Confira também
- <xref:Windows.UI.Xaml.RoutedEventArgs%0andows.ui.xaml%2froutedeventargs.md)>