public override void ApplyAnimation(string animateId,
MetaPanelBase metaPanel,
MetaElementStateDict stateDict,
ICollection elements,
double elapsedMilliseconds)
{
// Only apply if we match the incoming animate identifier
if (string.IsNullOrEmpty(Id) || Id.Equals(animateId))
{
foreach (UIElement element in elements)
{
MetaElementState elementState = stateDict[element];
// If this is a new element that has not had its current rectangle set
if ((elementState.Status == MetaElementStatus.New) && elementState.NewCalculating)
{
elementState.CurrentRect = RectFromSize(Size, RectFromLocation(Location, metaPanel, elementState), elementState);
elementState.TargetChanged = true;
elementState.AnimateComplete = false;
}
}
}
// Let base class take care of easing animations
base.ApplyAnimation(animateId, metaPanel, stateDict, elements, elapsedMilliseconds);
}