Table of Contents

Class GroupCollapseAnimation

Namespace
FlowGraph.Avalonia.Animation
Assembly
FlowGraph.Avalonia.dll

Animates a group's collapse or expand transition.

public class GroupCollapseAnimation : IAnimation
Inheritance
GroupCollapseAnimation
Implements
Inherited Members

Constructors

GroupCollapseAnimation(Node, bool, double, double, double, double, double, Action<Node, double, double, double>?, Action?)

Creates a new group collapse/expand animation.

public GroupCollapseAnimation(Node group, bool collapsing, double expandedWidth, double expandedHeight, double collapsedWidth, double collapsedHeight, double duration = 0.3, Action<Node, double, double, double>? onUpdate = null, Action? onComplete = null)

Parameters

group Node

The group node to animate.

collapsing bool

True if collapsing, false if expanding.

expandedWidth double

The width when expanded.

expandedHeight double

The height when expanded.

collapsedWidth double

The width when collapsed.

collapsedHeight double

The height when collapsed.

duration double

Animation duration in seconds.

onUpdate Action<Node, double, double, double>

Callback with (group, width, height, childrenOpacity).

onComplete Action

Callback when animation completes.

Properties

ChildrenOpacity

Gets the current children opacity (0 when collapsed, 1 when expanded).

public double ChildrenOpacity { get; }

Property Value

double

CurrentHeight

Gets the current height.

public double CurrentHeight { get; }

Property Value

double

CurrentWidth

Gets the current width.

public double CurrentWidth { get; }

Property Value

double

IsComplete

Gets whether the animation has completed.

public bool IsComplete { get; }

Property Value

bool

Methods

Cancel()

Called when the animation completes or is cancelled.

public void Cancel()

Collapse(Node, double, double, double, double, double, Action<Node, double, double, double>?, Action?)

Creates a collapse animation for a group.

public static GroupCollapseAnimation Collapse(Node group, double expandedWidth, double expandedHeight, double collapsedWidth = 150, double collapsedHeight = 50, double duration = 0.3, Action<Node, double, double, double>? onUpdate = null, Action? onComplete = null)

Parameters

group Node
expandedWidth double
expandedHeight double
collapsedWidth double
collapsedHeight double
duration double
onUpdate Action<Node, double, double, double>
onComplete Action

Returns

GroupCollapseAnimation

Expand(Node, double, double, double, double, double, Action<Node, double, double, double>?, Action?)

Creates an expand animation for a group.

public static GroupCollapseAnimation Expand(Node group, double expandedWidth, double expandedHeight, double collapsedWidth = 150, double collapsedHeight = 50, double duration = 0.3, Action<Node, double, double, double>? onUpdate = null, Action? onComplete = null)

Parameters

group Node
expandedWidth double
expandedHeight double
collapsedWidth double
collapsedHeight double
duration double
onUpdate Action<Node, double, double, double>
onComplete Action

Returns

GroupCollapseAnimation

Update(double)

Updates the animation with the elapsed time since the last frame.

public void Update(double deltaTime)

Parameters

deltaTime double

Time elapsed since last update in seconds.