Primary WPF APIs:
StoryboardPrimary Avalonia APIs:
Transitions (DoubleTransition, etc.)Animation keyframes| WPF | Avalonia |
|---|---|
property animation with Storyboard |
transitions or Animation keyframes |
| visual-state storyboard sets | class/pseudo-class switches + transitions |
| per-frame custom animation | compositor/custom render path when required |
WPF XAML:
<DoubleAnimation Storyboard.TargetProperty="Opacity"
To="0.6"
Duration="0:0:0.2" />
Avalonia XAML:
<Button xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Classes="fade-on-hover"
Content="Hover me">
<Button.Transitions>
<Transitions>
<DoubleTransition Property="Opacity" Duration="0:0:0.2" />
</Transitions>
</Button.Transitions>
</Button>
<Style xmlns="https://github.com/avaloniaui" Selector="Button.fade-on-hover:pointerover">
<Setter Property="Opacity" Value="0.6" />
</Style>
using System;
using Avalonia;
using Avalonia.Animation;
using Avalonia.Controls;
var btn = new Button { Content = "Hover me" };
btn.Transitions = new Transitions
{
new DoubleTransition
{
Property = Visual.OpacityProperty,
Duration = TimeSpan.FromMilliseconds(200)
}
};