private void InitializeChildren() { _collection.Clear(); if (Events == null || ProfilingTimer == null) { return; } IEnumerable <IGrouping <uint, ISingleEventTree> > groups = Events.GroupBy(x => x.ThreadUid); uint endTime = ProfilingTimer.CurrentTime; foreach (IGrouping <uint, ISingleEventTree> group in groups) { ThreadTimeline item = new ThreadTimeline(this, group.Key, group.ToList(), endTime); _collection.Add(item); } DispatcherExtensions.DoEvents(); UpdateContentBorder(); }
private static void OnEventsPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { ThreadTimeline view = (ThreadTimeline)sender; view.InitializeChildren(); }