private void RefreshIsAncestorHidden(TimelineItem timelineItem) { for (int index = 0; index < timelineItem.Children.Count; ++index) { TimelineItem timelineItem1 = timelineItem.Children[index]; Item3DTimelineItem item3DtimelineItem = timelineItem1 as Item3DTimelineItem; if (item3DtimelineItem != null) { item3DtimelineItem.RefreshIsShown(); } else { ElementTimelineItem elementTimelineItem = timelineItem1 as ElementTimelineItem; EffectTimelineItem effectTimelineItem = timelineItem1 as EffectTimelineItem; if (elementTimelineItem != null) { elementTimelineItem.RefreshIsAncestorHidden(); } else if (effectTimelineItem != null) { effectTimelineItem.RefreshIsAncestorHidden(); } else { this.RefreshIsAncestorHidden(timelineItem1); } } } }
public static ScheduledTimelineItem FindItem(TimelineItem parentTimelineItem, StoryboardTimelineSceneNode parentTimeline, PropertyReference targetProperty) { if (targetProperty == null) { return((ScheduledTimelineItem)null); } foreach (TimelineItem timelineItem in (Collection <TimelineItem>)parentTimelineItem.Children) { AnimationTimelineItem animationTimelineItem = timelineItem as AnimationTimelineItem; if (animationTimelineItem != null && animationTimelineItem.parentTimeline == parentTimeline && animationTimelineItem.TargetProperty.Path == targetProperty.Path) { return((ScheduledTimelineItem)animationTimelineItem); } CompoundPropertyTimelineItem propertyTimelineItem = timelineItem as CompoundPropertyTimelineItem; if (propertyTimelineItem != null) { ScheduledTimelineItem scheduledTimelineItem = ScheduledTimelineItem.FindItem((TimelineItem)propertyTimelineItem, parentTimeline, targetProperty); if (scheduledTimelineItem != null) { return(scheduledTimelineItem); } } BehaviorTimelineItem behaviorTimelineItem = timelineItem as BehaviorTimelineItem; if (behaviorTimelineItem != null) { ScheduledTimelineItem scheduledTimelineItem = ScheduledTimelineItem.FindItem((TimelineItem)behaviorTimelineItem, parentTimeline, targetProperty); if (scheduledTimelineItem != null) { return(scheduledTimelineItem); } } EffectTimelineItem effectTimelineItem = timelineItem as EffectTimelineItem; if (effectTimelineItem != null) { ScheduledTimelineItem scheduledTimelineItem = ScheduledTimelineItem.FindItem((TimelineItem)effectTimelineItem, parentTimeline, targetProperty); if (scheduledTimelineItem != null) { return(scheduledTimelineItem); } } } return((ScheduledTimelineItem)null); }