Call a storyboard declared in xaml from c#
Since you declared your Storyboard as a Resource, you can access it by using FindResource("PlayAnimation"). See sample below:
XAML:
<Window x:Class="StackOverflow.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:StackOverflow" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <Storyboard x:Key="PlayAnimation" Storyboard.TargetProperty="(Canvas.Left)"> <DoubleAnimation From="0" To="100" Duration="0:0:1"/> </Storyboard> </Window.Resources> <Canvas> <Button x:Name="btn">Test</Button> </Canvas></Window>
Code-behind:
public partial class MainWindow : Window{ public MainWindow() { InitializeComponent(); this.Loaded += new RoutedEventHandler(MainWindow_Loaded); } void MainWindow_Loaded(object sender, RoutedEventArgs e) { Storyboard sb = this.FindResource("PlayAnimation") as Storyboard; Storyboard.SetTarget(sb, this.btn); sb.Begin(); }}