コード例 #1
0
        public void DirtyHasSelectedKeyFrame()
        {
            this.hasSelectedKeyFrameDirty = true;
            CompoundPropertyTimelineItem propertyTimelineItem = this.Parent as CompoundPropertyTimelineItem;

            if (propertyTimelineItem != null)
            {
                propertyTimelineItem.DirtyHasSelectedKeyFrame();
            }
            this.Invalidate();
        }
コード例 #2
0
 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);
 }
コード例 #3
0
        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;
        }