You can use thickness animation:
private void btnEnglish_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
ThicknessAnimation myThicknessAnimation = new ThicknessAnimation();
myThicknessAnimation.Duration = TimeSpan.FromSeconds(1);
myThicknessAnimation.From = new Thickness(0,0,0,0);
myThicknessAnimation.To = new Thickness(10,10,0,0);
btnEnglish.BeginAnimation(Button.BorderThicknessProperty, myThicknessAnimation);
}
Edited by:
Since you want your button to return to the default location
private void btnEnglish_Click(object sender, RoutedEventArgs e)
{
ThicknessAnimation myThicknessAnimation = new ThicknessAnimation();
myThicknessAnimation.Duration = TimeSpan.FromSeconds(0.5);
myThicknessAnimation.From = new Thickness(0,0,0,0);
myThicknessAnimation.To = new Thickness(10,10,0,0);
myThicknessAnimation.AutoReverse = true;
myThicknessAnimation.Completed += (arg, s) => { btnEnglish.BeginAnimation(Button.BorderThicknessProperty, null); };
btnEnglish.BeginAnimation(Button.BorderThicknessProperty, myThicknessAnimation);
}
source
share