Есть два способа остановить BeginAnimation. Первый - снова вызвать BeginAnimation со вторым параметром, равным нулю. Это удалит все анимации в свойстве и вернет значение обратно к его базовому значению.
В зависимости от того, как вы используете это значение, это может не соответствовать вашему желанию. Второй способ - установить для анимации BeginTime значение null, а затем вызвать с ним BeginAnimation. Это удалит эту конкретную анимацию и оставит значение в текущей позиции.
DoubleAnimation myAnimation = new Animation();
// Initialize animation
...
// To start
element.BeginAnimation(Property, myAnimation);
// To stop and keep the current value of the animated property
myAnimation.BeginTime = null;
element.BeginAnimation(Property, myAnimation);