SplitCloseThemeAnimation class
TOC
Collapse the table of content
Expand the table of content

SplitCloseThemeAnimation class

Represents the preconfigured animation that conceals a target UI using a split animation.

Inheritance

Object
  DependencyObject
    Timeline
      SplitCloseThemeAnimation

Syntax


public sealed class SplitCloseThemeAnimation : Timeline


<SplitCloseThemeAnimation .../>

Members

The SplitCloseThemeAnimation class has these types of members:

Constructors

The SplitCloseThemeAnimation class has these constructors.

ConstructorDescription
SplitCloseThemeAnimation Initializes a new instance of the SplitCloseThemeAnimation class.

 

Events

The SplitCloseThemeAnimation class has these events.

EventDescription
Completed Occurs when the Storyboard object has completed playing. (Inherited from Timeline)

 

Methods

The SplitCloseThemeAnimation class has these methods. It also inherits methods from the Object class.

MethodDescription
ClearValue Clears the local value of a dependency property. (Inherited from DependencyObject)
GetAnimationBaseValue Returns any base value established for a dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject)
GetValue Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject)
ReadLocalValue Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject)
RegisterPropertyChangedCallback Registers a notification function for listening to changes to a specific DependencyProperty on this DependencyObject instance. (Inherited from DependencyObject)
SetValue Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject)
UnregisterPropertyChangedCallback Cancels a change notification that was previously registered by calling RegisterPropertyChangedCallback. (Inherited from DependencyObject)

 

Properties

The SplitCloseThemeAnimation class has these properties.

PropertyAccess typeDescription

AutoReverse

Read/write

Gets or sets a value that indicates whether the timeline plays in reverse after it completes a forward iteration. (Inherited from Timeline)

BeginTime

Read/write

Gets or sets the time at which this Timeline should begin. (Inherited from Timeline)

ClosedLength

Read/write

Gets or sets the initial size of the target element in the animation direction.

ClosedLengthProperty

Read-only

Identifies the ClosedLength dependency property.

ClosedTarget

Read/write

Gets or sets the UI element that specifies the initial clip size.

ClosedTargetName

Read/write

Gets or sets the identifying name of the UI element that specifies the initial clip size.

ClosedTargetNameProperty

Read-only

Identifies the ClosedTargetName dependency property.

ClosedTargetProperty

Read-only

Identifies the ClosedTarget dependency property.

ContentTarget

Read/write

Gets or sets the UI element that will be translated. Typically this is a child/part of the element identified by OpenedTargetName or OpenedTarget.

ContentTargetName

Read/write

Gets or sets the identifying name of the UI element that will be translated. Typically this is a child/part of the element identified by OpenedTargetName.

ContentTargetNameProperty

Read-only

Identifies the ContentTargetName dependency property.

ContentTargetProperty

Read-only

Identifies the ContentTarget dependency property.

ContentTranslationDirection

Read/write

Gets or sets a value that determines which direction the content should translate when the animation runs.

ContentTranslationDirectionProperty

Read-only

Identifies the ContentTranslationDirection dependency property.

ContentTranslationOffset

Read/write

Gets or sets the pixels to translate by when the animation runs.

ContentTranslationOffsetProperty

Read-only

Identifies the ContentTranslationOffset dependency property.

Dispatcher

Read-only

Gets the CoreDispatcher that this object is associated with. The CoreDispatcher represents a facility that can access the DependencyObject on the UI thread even if the code is initiated by a non-UI thread. (Inherited from DependencyObject)

Duration

Read/write

Gets or sets the length of time for which this timeline plays, not counting repetitions. (Inherited from Timeline)

FillBehavior

Read/write

Gets or sets a value that specifies how the animation behaves after it reaches the end of its active period. (Inherited from Timeline)

OffsetFromCenter

Read/write

Gets or sets an offset from the center of the opened target.

OffsetFromCenterProperty

Read-only

Identifies the OffsetFromCenter dependency property.

OpenedLength

Read/write

Gets or sets the final size of the target UI element.

OpenedLengthProperty

Read-only

Identifies the OpenedLength dependency property.

OpenedTarget

Read/write

Gets or sets the UI element that will be clipped.

OpenedTargetName

Read/write

Gets or sets the identifying name of the UI element that will be clipped.

OpenedTargetNameProperty

Read-only

Identifies the OpenedTargetName dependency property.

OpenedTargetProperty

Read-only

Identifies the OpenedTarget dependency property.

RepeatBehavior

Read/write

Gets or sets the repeating behavior of this timeline. (Inherited from Timeline)

SpeedRatio

Read/write

Gets or sets the rate, relative to its parent, at which time progresses for this Timeline. (Inherited from Timeline)

 

Remarks

Note that setting the Duration property has no effect on this object since the duration is preconfigured.

Examples

The following is an example of a template of a custom control that uses split open and split close theme animations.



<!-- Example template of a custom control that uses split open and 
     split close theme animations. -->
<ControlTemplate TargetType="local:SplitOpenControl">
    <Grid>
        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="OpenStates">
                <VisualState x:Name="Open">
                    <Storyboard>
                        <SplitOpenThemeAnimation 
                            OpenedTargetName="contentBorder" 
                            ContentTargetName="content" 
                            ClosedTargetName="targetRect"
                            ContentTranslationDirection="Left"
                            ContentTranslationOffset="200"  
                            OffsetFromCenter="0"
                            OpenedLength="200"
                            ClosedLength="0"
                 />
                        <DoubleAnimation 
                            Storyboard.TargetName="targetRect" 
                            Storyboard.TargetProperty="Opacity" 
                            To="0" 
                            Duration="0" 
                 />
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="Closed">
                    <Storyboard>
                        <SplitCloseThemeAnimation
                            OpenedTargetName="contentBorder" 
                            ContentTargetName="content" 
                            ClosedTargetName="targetRect"
                            ContentTranslationDirection="Left"
                            ContentTranslationOffset="-200"  
                            OffsetFromCenter="0"
                            OpenedLength="200"
                            ClosedLength="0"
                 />
                    </Storyboard>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>
                    
        <Rectangle x:Name="targetRect" Width="100" Height="100" Fill="Blue"/>
                        
        <Popup IsOpen="False" Height="50" Width="200" x:Name="contentPopup">
            <Border x:Name="contentBorder" BorderBrush="Orange" BorderThickness="3">
                <TextBlock x:Name="content" Text="Hello World" FontSize="20"/>
            </Border>
        </Popup>
    </Grid>
</ControlTemplate>


public sealed class SplitOpenControl : Control
{
    private Popup _contentPopup;
    public SplitOpenControl()
    {
        this.DefaultStyleKey = typeof(SplitOpenControl);
    }

    protected override void OnApplyTemplate()
    {
        base.OnApplyTemplate();
        _contentPopup = GetTemplateChild("contentPopup") as Popup;
    }

    protected override void OnPointerPressed(PointerRoutedEventArgs e)
    {
        this.CapturePointer(e.Pointer);
        _contentPopup.IsOpen = true;
        VisualStateManager.GoToState(this, "Open", true);            
    }

    protected override void OnPointerReleased(PointerRoutedEventArgs e)
    {            
        VisualStateManager.GoToState(this, "Closed", true);
        this.ReleasePointerCapture(e.Pointer);
    }
}

Requirements (Windows 10 device family)

Device family

Universal, introduced version 10.0.10240.0

API contract

Windows.Foundation.UniversalApiContract, introduced version 1.0

Namespace

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

Metadata

Windows.Foundation.UniversalApiContract.winmd

Requirements (Windows 8.x and Windows Phone 8.x)

Minimum supported client

Windows 8 [Windows Store apps only]

Minimum supported server

Windows Server 2012 [Windows Store apps only]

Minimum supported phone

Windows Phone 8.1 [Windows Runtime apps only]

Namespace

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

Metadata

Windows.winmd

Attributes

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

See also

Object
Timeline

 

 

Show:
© 2016 Microsoft