SwipeBackThemeAnimation Class

Rappresenta l'animazione preconfigurata che si applica ai controlli quando un elemento scorre indietro nel relativo slot di layout dopo un'interazione Swipe.

Ereditarietà

Object
  DependencyObject
    Timeline
      SwipeBackThemeAnimation

Sintassi


public sealed class SwipeBackThemeAnimation : Timeline

Attributi

[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]
[WebHostHidden()]

Membri

SwipeBackThemeAnimationClasse include questi tipi di membri:

Costruttori

SwipeBackThemeAnimationClasse include questi costruttori.

CostruttoreDescrizione
SwipeBackThemeAnimation Initializes a new instance of the SwipeBackThemeAnimation class.

 

Eventi

SwipeBackThemeAnimationClasse include questi eventi.

EventoDescrizione
Completed Occurs when the Storyboard object has completed playing. (Ereditata da Timeline)

 

Metodi

The SwipeBackThemeAnimation Classe dispone di tali metodi. Eredita inoltre i metodi da Object Classe.

MetodoDescrizione
ClearValue Clears the local value of a dependency property. (Ereditata da DependencyObject)
GetAnimationBaseValue Returns any base value established for a dependency property, which would apply in cases where an animation is not active. (Ereditata da DependencyObject)
GetValue Returns the current effective value of a dependency property from a DependencyObject. (Ereditata da DependencyObject)
ReadLocalValue Returns the local value of a dependency property, if a local value is set. (Ereditata da DependencyObject)
SetValue Sets the local value of a dependency property on a DependencyObject. (Ereditata da DependencyObject)

 

Proprietà

Classe dispone di tali proprietà. di SwipeBackThemeAnimation

ProprietàTipo di accessoDescrizione

AutoReverse

Lettura/scritturaGets or sets a value that indicates whether the timeline plays in reverse after it completes a forward iteration. (Ereditata da Timeline)

BeginTime

Lettura/scritturaGets or sets the time at which this Timeline should begin. (Ereditata da Timeline)

Dispatcher

Sola letturaGets the CoreDispatcher that this object is associated with. (Ereditata da DependencyObject)

Duration

Lettura/scritturaGets or sets the length of time for which this timeline plays, not counting repetitions. (Ereditata da Timeline)

FillBehavior

Lettura/scritturaGets or sets a value that specifies how the animation behaves after it reaches the end of its active period. (Ereditata da Timeline)

FromHorizontalOffset

Lettura/scritturaGets or sets the distance by which the target is translated in the horizontal direction when the animation is active.

FromHorizontalOffsetProperty

Sola letturaIdentifies the FromHorizontalOffset dependency property.

FromVerticalOffset

Lettura/scritturaGets or sets the distance by which the target is translated in the vertical direction when the animation is active.

FromVerticalOffsetProperty

Sola letturaIdentifies the FromHorizontalOffset dependency property.

RepeatBehavior

Lettura/scritturaGets or sets the repeating behavior of this timeline. (Ereditata da Timeline)

SpeedRatio

Lettura/scritturaGets or sets the rate, relative to its parent, at which time progresses for this Timeline. (Ereditata da Timeline)

TargetName

Lettura/scritturaGets or sets the reference name of the control element being targeted.

TargetNameProperty

Sola letturaIdentifies the TargetName dependency property.

 

Note

Si noti che l'impostazione della proprietà di Duration non influisce su questo oggetto poiché la durata è preconfigurata.

Esempi

Nell'esempio seguente viene applicata la funzione di interpolazione SineEase a una DoubleAnimation per creare un'animazione che decelera.



<!-- Example template of a custom control that supports swipe selection.  
     A SwipeBackThemeAnimation is run when the control goes to the Normal state. -->
<ControlTemplate TargetType="local:SwipeControl">
    <Grid>
        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="SwipeStates">                                
                <VisualState x:Name="Normal">
                    <Storyboard>
                        <SwipeBackThemeAnimation TargetName="contentRectangle" />
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="Selected">
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="SelectedText" 
                          Storyboard.TargetProperty="Visibility">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" />
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="Hinting">
                    <Storyboard>
                        <SwipeHintThemeAnimation TargetName="contentRectangle" />
                    </Storyboard>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>
        <Rectangle Width="100" Height="100" Fill="{TemplateBinding Background}" />
                        
        <Rectangle x:Name="contentRectangle"
                    Width="100" 
                    Height="100" 
                    Fill="{TemplateBinding Foreground}" />
        <TextBlock x:Name="SelectedText" 
                    Text="Selected" 
                    Visibility="Collapsed" 
                    Foreground="White" 
                    FontSize="20" 
                    VerticalAlignment="Center" 
                    HorizontalAlignment="Center"  />
    </Grid>
</ControlTemplate>
 


public sealed class SwipeControl : Control
{
    GestureRecognizer _gestureRecognizer;
    bool _isPointerDown = false;
    bool _isSelected = false;
    bool _isCrossSliding = false;

    public SwipeControl()
    {
        this.DefaultStyleKey = typeof(SwipeControl);
        // Direct gesture recognizer to recognize hold and swipe gestures.
        _gestureRecognizer = new GestureRecognizer();
        _gestureRecognizer.GestureSettings = GestureSettings.Hold | 
                                             GestureSettings.HoldWithMouse | 
                                             GestureSettings.CrossSlide;

        _gestureRecognizer.Holding += GestureRecognizer_Holding;
        _gestureRecognizer.CrossSlideHorizontally = false; // Support vertical swiping.
        _gestureRecognizer.CrossSliding += GestureRecognizer_CrossSliding;            
    }

    protected override void OnPointerPressed(PointerRoutedEventArgs e)
    {
        base.OnPointerPressed(e);
        _isPointerDown = CapturePointer(e.Pointer);
        // Send input to GestureRecognizer for processing.
        _gestureRecognizer.ProcessDownEvent(e.GetCurrentPoint(this));
            
    }

    protected override void OnPointerReleased(PointerRoutedEventArgs e)
    {
        base.OnPointerReleased(e);
        // Send input to GestureRecognizer for processing.
        _gestureRecognizer.ProcessUpEvent(e.GetCurrentPoint(this));

        _isCrossSliding = false;

        // Go to Normal state when pointer is released.
        if (!_isSelected)
        {
            VisualStateManager.GoToState(this, "Normal", true);
        }
    }

    protected override void OnPointerMoved(PointerRoutedEventArgs e)
    {
        base.OnPointerMoved(e);
        if (_isPointerDown)
        {
            // Send input to GestureRecognizer for processing.
            _gestureRecognizer.ProcessMoveEvents(e.GetIntermediatePoints(this));
        }
    }

    void GestureRecognizer_Holding(GestureRecognizer sender, HoldingEventArgs args)
    {
        // Go to Hinting state if control is not already selected.
        if (!_isSelected)
        {
            VisualStateManager.GoToState(this, "Hinting", true);
        }
    }

    void GestureRecognizer_CrossSliding(GestureRecognizer sender, CrossSlidingEventArgs args)
    {
        // Prevent multiple state changes for the same swipe gesture.
        if (!_isCrossSliding)
        {
            _isCrossSliding = true;                
                
            // Toggle between Selected and Normal on swipe gesture.
            _isSelected = !_isSelected;
            if (_isSelected)
            {
                VisualStateManager.GoToState(this, "Selected", true);
            }
            else
            {
                VisualStateManager.GoToState(this, "Normal", true);
            }
        }
    }
}

Requisiti

Client supportato minimo

Windows 8 [Solo applicazioni Windows Store]

Server supportato minimo

Windows Server 2012 [Solo applicazioni Windows Store]

Spazio dei nomi

Windows.UI.Xaml.Media.Animation
Windows::UI::Xaml::Media::Animation [C++]

Metadati

Windows.winmd

Vedere anche

Timeline
Animazione dei gesti scorrimento rapido
Linee guida ed elenco di controllo per animazioni di dissolvenza

 

 

Mostra:
© 2015 Microsoft