Split​Close​Theme​Animation Split​Close​Theme​Animation Split​Close​Theme​Animation Class

Definition

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

public sealed class SplitCloseThemeAnimation : Timeline, ISplitCloseThemeAnimationpublic sealed class SplitCloseThemeAnimation : Timeline, ISplitCloseThemeAnimationPublic NotInheritable Class SplitCloseThemeAnimation Inherits Timeline Implements ISplitCloseThemeAnimation
<SplitCloseThemeAnimation .../>
Inheritance
SplitCloseThemeAnimationSplitCloseThemeAnimationSplitCloseThemeAnimation
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

Inherited Members

Inherited properties

Inherited methods

Inherited events

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);
    }
}
// SplitOpenControl.h:
public ref class SplitOpenControl sealed : public Windows::UI::Xaml::Controls::Control
{
public:
    SplitOpenControl();
protected:
    virtual void OnApplyTemplate() override;
    virtual void OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) override;
    virtual void OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) override;
private:
    Windows::UI::Xaml::Controls::Primitives::Popup ^m_contentPopup;
};

// SplitOpenControl.cpp:
SplitOpenControl::SplitOpenControl()
{
    DefaultStyleKey = "MyApp.SplitOpenControl";
}

void SplitOpenControl::OnApplyTemplate()
{
    m_contentPopup = static_cast<Popup^>(GetTemplateChild("contentPopup"));
}

void SplitOpenControl::OnPointerPressed(PointerRoutedEventArgs^ e)
{
    CapturePointer(e->Pointer);
    m_contentPopup->IsOpen = true;
    VisualStateManager::GoToState(this, "Open", true);
}

void SplitOpenControl::OnPointerReleased(PointerRoutedEventArgs^ e)
{
    VisualStateManager::GoToState(this, "Closed", true);
    ReleasePointerCapture(e->Pointer);
}

Constructors

SplitCloseThemeAnimation() SplitCloseThemeAnimation() SplitCloseThemeAnimation()

Initializes a new instance of the SplitCloseThemeAnimation class.

public SplitCloseThemeAnimation()public SplitCloseThemeAnimation()Public Sub New()
Attributes

Properties

ClosedLength ClosedLength ClosedLength

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

public double ClosedLength { get; set; }public double ClosedLength { get; set; }Public ReadWrite Property ClosedLength As double
<SplitCloseThemeAnimation ClosedLength="double"/>
Value
double double double

The initial size of the target in pixels.

Attributes

ClosedLengthProperty ClosedLengthProperty ClosedLengthProperty

Identifies the ClosedLength dependency property.

public static DependencyProperty ClosedLengthProperty { get; }public static DependencyProperty ClosedLengthProperty { get; }Public Static ReadOnly Property ClosedLengthProperty As DependencyProperty
Value
DependencyProperty DependencyProperty DependencyProperty

The identifier for the ClosedLength dependency property.

Attributes

ClosedTarget ClosedTarget ClosedTarget

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

public DependencyObject ClosedTarget { get; set; }public DependencyObject ClosedTarget { get; set; }Public ReadWrite Property ClosedTarget As DependencyObject
Value
DependencyObject DependencyObject DependencyObject

The UI element that specifies the initial clip size.

Attributes

Remarks

Don't set this in XAML. For a XAML declaration, use ClosedTargetName instead.

ClosedTargetName ClosedTargetName ClosedTargetName

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

public string ClosedTargetName { get; set; }public string ClosedTargetName { get; set; }Public ReadWrite Property ClosedTargetName As string
<SplitCloseThemeAnimation ClosedTargetName="nameString" />
Value
string string string

The reference name. This is typically the x:Name of the relevant element as declared in XAML.

Attributes

Remarks

If this target is not provided, the animation runs assuming that the split will happen from the center.

ClosedTargetNameProperty ClosedTargetNameProperty ClosedTargetNameProperty

Identifies the ClosedTargetName dependency property.

public static DependencyProperty ClosedTargetNameProperty { get; }public static DependencyProperty ClosedTargetNameProperty { get; }Public Static ReadOnly Property ClosedTargetNameProperty As DependencyProperty
Value
DependencyProperty DependencyProperty DependencyProperty

The identifier for the ClosedTargetName dependency property.

Attributes

ClosedTargetProperty ClosedTargetProperty ClosedTargetProperty

Identifies the ClosedTarget dependency property.

public static DependencyProperty ClosedTargetProperty { get; }public static DependencyProperty ClosedTargetProperty { get; }Public Static ReadOnly Property ClosedTargetProperty As DependencyProperty
Value
DependencyProperty DependencyProperty DependencyProperty

The identifier for the ClosedTarget dependency property.

Attributes

ContentTarget ContentTarget ContentTarget

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

public DependencyObject ContentTarget { get; set; }public DependencyObject ContentTarget { get; set; }Public ReadWrite Property ContentTarget As DependencyObject
Value
DependencyObject DependencyObject DependencyObject

The UI element that will be translated.

Attributes

Remarks

Don't set this in XAML. For a XAML declaration, use ContentTargetName instead.

ContentTargetName ContentTargetName ContentTargetName

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.

public string ContentTargetName { get; set; }public string ContentTargetName { get; set; }Public ReadWrite Property ContentTargetName As string
<SplitCloseThemeAnimation ContentTargetName="nameString" />
Value
string string string

The name of the UI element that will be translated.

Attributes

ContentTargetNameProperty ContentTargetNameProperty ContentTargetNameProperty

Identifies the ContentTargetName dependency property.

public static DependencyProperty ContentTargetNameProperty { get; }public static DependencyProperty ContentTargetNameProperty { get; }Public Static ReadOnly Property ContentTargetNameProperty As DependencyProperty
Value
DependencyProperty DependencyProperty DependencyProperty

The identifier for the ContentTargetName dependency property.

Attributes

ContentTargetProperty ContentTargetProperty ContentTargetProperty

Identifies the ContentTarget dependency property.

public static DependencyProperty ContentTargetProperty { get; }public static DependencyProperty ContentTargetProperty { get; }Public Static ReadOnly Property ContentTargetProperty As DependencyProperty
Value
DependencyProperty DependencyProperty DependencyProperty

The identifier for the ContentTarget dependency property.

Attributes

ContentTranslationDirection ContentTranslationDirection ContentTranslationDirection

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

public AnimationDirection ContentTranslationDirection { get; set; }public AnimationDirection ContentTranslationDirection { get; set; }Public ReadWrite Property ContentTranslationDirection As AnimationDirection
<SplitCloseThemeAnimation ContentTranslationDirection="animationDirectionMemberName" />
Value
AnimationDirection AnimationDirection AnimationDirection

A value of the enumeration.

Attributes

ContentTranslationDirectionProperty ContentTranslationDirectionProperty ContentTranslationDirectionProperty

Identifies the ContentTranslationDirection dependency property.

public static DependencyProperty ContentTranslationDirectionProperty { get; }public static DependencyProperty ContentTranslationDirectionProperty { get; }Public Static ReadOnly Property ContentTranslationDirectionProperty As DependencyProperty
Value
DependencyProperty DependencyProperty DependencyProperty

The identifier for the ContentTranslationDirection dependency property.

Attributes

ContentTranslationOffset ContentTranslationOffset ContentTranslationOffset

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

public double ContentTranslationOffset { get; set; }public double ContentTranslationOffset { get; set; }Public ReadWrite Property ContentTranslationOffset As double
<SplitCloseThemeAnimation ContentTranslationOffset="double" />
Value
double double double

A distance in pixels.

Attributes

ContentTranslationOffsetProperty ContentTranslationOffsetProperty ContentTranslationOffsetProperty

Identifies the ContentTranslationOffset dependency property.

public static DependencyProperty ContentTranslationOffsetProperty { get; }public static DependencyProperty ContentTranslationOffsetProperty { get; }Public Static ReadOnly Property ContentTranslationOffsetProperty As DependencyProperty
Value
DependencyProperty DependencyProperty DependencyProperty

The identifier for the ContentTranslationOffset dependency property.

Attributes

OffsetFromCenter OffsetFromCenter OffsetFromCenter

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

public double OffsetFromCenter { get; set; }public double OffsetFromCenter { get; set; }Public ReadWrite Property OffsetFromCenter As double
<SplitCloseThemeAnimation OffsetFromCenter="double" />
Value
double double double

An offset in pixels. The default is 0.

Attributes

OffsetFromCenterProperty OffsetFromCenterProperty OffsetFromCenterProperty

Identifies the OffsetFromCenter dependency property.

public static DependencyProperty OffsetFromCenterProperty { get; }public static DependencyProperty OffsetFromCenterProperty { get; }Public Static ReadOnly Property OffsetFromCenterProperty As DependencyProperty
Value
DependencyProperty DependencyProperty DependencyProperty

The identifier for the OffsetFromCenter dependency property.

Attributes

OpenedLength OpenedLength OpenedLength

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

public double OpenedLength { get; set; }public double OpenedLength { get; set; }Public ReadWrite Property OpenedLength As double
<SplitCloseThemeAnimation OpenedLength="double" />
Value
double double double

The final size. If left unset, the value defaults to the size of the opened target.

Attributes

OpenedLengthProperty OpenedLengthProperty OpenedLengthProperty

Identifies the OpenedLength dependency property.

public static DependencyProperty OpenedLengthProperty { get; }public static DependencyProperty OpenedLengthProperty { get; }Public Static ReadOnly Property OpenedLengthProperty As DependencyProperty
Value
DependencyProperty DependencyProperty DependencyProperty

The identifier for the OpenedLength dependency property.

Attributes

OpenedTarget OpenedTarget OpenedTarget

Gets or sets the UI element that will be clipped.

public DependencyObject OpenedTarget { get; set; }public DependencyObject OpenedTarget { get; set; }Public ReadWrite Property OpenedTarget As DependencyObject
Value
DependencyObject DependencyObject DependencyObject

The UI element that will be clipped.

Attributes

Remarks

Don't set this in XAML. For a XAML declaration, use OpenedTargetName instead.

OpenedTargetName OpenedTargetName OpenedTargetName

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

public string OpenedTargetName { get; set; }public string OpenedTargetName { get; set; }Public ReadWrite Property OpenedTargetName As string
<SplitCloseThemeAnimation OpenedTargetName="nameString" />
Value
string string string

The reference name. This is typically the x:Name of the relevant element as declared in XAML.

Attributes

OpenedTargetNameProperty OpenedTargetNameProperty OpenedTargetNameProperty

Identifies the OpenedTargetName dependency property.

public static DependencyProperty OpenedTargetNameProperty { get; }public static DependencyProperty OpenedTargetNameProperty { get; }Public Static ReadOnly Property OpenedTargetNameProperty As DependencyProperty
Value
DependencyProperty DependencyProperty DependencyProperty

The identifier for the OpenedTargetName dependency property.

Attributes

OpenedTargetProperty OpenedTargetProperty OpenedTargetProperty

Identifies the OpenedTarget dependency property.

public static DependencyProperty OpenedTargetProperty { get; }public static DependencyProperty OpenedTargetProperty { get; }Public Static ReadOnly Property OpenedTargetProperty As DependencyProperty
Value
DependencyProperty DependencyProperty DependencyProperty

The identifier for the OpenedTarget dependency property.

Attributes