private void ScrollIntoViewRecursive(int level, DataItem item) { if (level >= 20) { MessageBox.Show(DateTime.Now.Subtract(this.listBringStart).TotalSeconds.ToString() + " sec."); return; } var newItem = item.Children[85]; this.treeList.ScrollIntoViewAsync(item, (f) => { ScrollIntoViewRecursive(++level, newItem); }, true); }
private void LoadData() { list = new ObservableCollection<DataItem>(); for (int i = 0; i < 100; i++) { DataItem root = new DataItem() { Name = "Item " + i }; list.Add(root); } this.treeList.ItemsSource = list; }