private static void ExpandAndScrollRecursive(RadTreeListView treeListView, object item, IList <object> itemsToExpand) { treeListView.ScrollIntoViewAsync(item, (f) => { treeListView.ExpandHierarchyItem(item); itemsToExpand.Remove(item); ExpandAndScrollRecursive(treeListView, itemsToExpand.FirstOrDefault(), itemsToExpand); }); }
private static void ExpandAndScrollRecursive(RadTreeListView treeListView, object item, IList<object> itemsToExpand) { treeListView.ScrollIntoViewAsync(item, (f) => { treeListView.ExpandHierarchyItem(item); itemsToExpand.Remove(item); ExpandAndScrollRecursive(treeListView, itemsToExpand.FirstOrDefault(), itemsToExpand); }); }
public static void ExpandItemIntoView(this RadTreeListView treeListView, object item) { if (treeListView.Items.IndexOf(item) == -1) { var filterDescriptor = new FilterDescriptor <object>() { FilteringExpression = i => i == item }; treeListView.FilterDescriptors.Add(filterDescriptor); var itemsToExpand = new List <object>(treeListView.Items.OfType <object>()); treeListView.FilterDescriptors.Remove(filterDescriptor); ExpandAndScrollRecursive(treeListView, itemsToExpand.FirstOrDefault(), itemsToExpand); } else { treeListView.ScrollIntoViewAsync(item, (f) => { treeListView.ExpandHierarchyItem(item); }); } }