private void BuildTransitionAnimation()
{
transition_animation = new DoubleAnimation ("Opacity");
transition_animation
.Throttle (250)
.Compose ((a, p) => {
var opacity = a.StartState == 0 ? p : 1 - p;
if (p == 1) {
if (a.StartState == 1) {
UpdateMetadataDisplay ();
}
if (a.ToValue == 1) {
a.Expire ();
} else {
a.Reverse ();
}
}
return opacity * text_opacity;
}).Ease (Easing.QuadraticInOut);
}