public void DirtyHasSelectedKeyFrame() { this.hasSelectedKeyFrameDirty = true; CompoundPropertyTimelineItem propertyTimelineItem = this.Parent as CompoundPropertyTimelineItem; if (propertyTimelineItem != null) { propertyTimelineItem.DirtyHasSelectedKeyFrame(); } this.Invalidate(); }
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); }
protected override void ValidateCore() { base.ValidateCore(); if (!this.hasSelectedKeyFrameDirty) { return; } bool flag = false; for (int index = 0; index < this.Children.Count; ++index) { CompoundPropertyTimelineItem propertyTimelineItem = this.Children[index] as CompoundPropertyTimelineItem; KeyFramedTimelineItem framedTimelineItem = this.Children[index] as KeyFramedTimelineItem; if (propertyTimelineItem != null && propertyTimelineItem.HasSelectedKeyFrame || framedTimelineItem != null && framedTimelineItem.HasSelectedKeyFrame) { flag = true; break; } } this.HasSelectedKeyFrame = flag; this.hasSelectedKeyFrameDirty = false; }