コード例 #1
0
        public void Stop()
        {
            if (_trace.IsEnabled)
            {
                _trace.WriteEventActivity(
                    eventId: TraceProvider.StoryBoard_Stop,
                    opCode: EventOpcode.Stop,
                    activity: _traceActivity,
                    payload: new object[] { Target?.GetType().ToString(), PropertyInfo?.Path }
                    );
            }

            State = TimelineState.Stopped;
            _hasFillingChildren = false;

            if (Children != null)
            {
                for (int i = 0; i < Children.Count; i++)
                {
                    ITimeline child = Children[i];

                    child.Stop();
                    DisposeChildRegistrations(child);
                }
            }
            _runningChildren = 0;
        }