Storyboards zijn heel makkelijk te definieren en te beheren vanuit Expression Blend.
Maar wat nu als je de storyboard handmatig wilt starten/pauzeren/stoppen?
Hiervoor bestaan de volgende methodes: Begin(), Pause() en Stop().
Alle drie de methodes vragen als eerste parameter een Framework(Content)Element. Meestal kun je hier de huidige class voor gebruiken: this.
De truuk zit hem in de 2e parameter van Begin(): bool IsControllable
deze geeft namelijk aan of je de storyboard zelf kan controleren, en deze is standaard false!
de code ziet er dan als volgt uit:
public partial class Window1 : Window
{
private Storyboard _story;
public Window1()
{
InitializeComponent();
_story = this.TryFindResource("Storyboard1") as Storyboard;
}
private void StartButton_Click(object sender, RoutedEventArgs e)
{
_story.Begin(this, true);
}
private void PauseButton_Click(object sender, RoutedEventArgs e)
{
_story.Pause(this);
}
private void StopButton_Click(object sender, RoutedEventArgs e)
{
_story.Stop(this);
}