Beispiel #1
0
 private void SelectItemFromVM(ICompositeItem obj)
 {
     if (FindTreeViewItem(TreeViewControl, obj) is TreeViewItem treeViewItem)
     {
         treeViewItem.IsSelected = true;
     }
 }
Beispiel #2
0
        //Note: https://stackoverflow.com/a/32628562
        private TreeViewItem FindTreeViewItem(
            ItemsControl itemsControl,
            ICompositeItem findItem)
        {
            //Search for the object model in first level children (recursively)
            if (itemsControl.ItemContainerGenerator.ContainerFromItem(findItem) is TreeViewItem positiveResult)
            {
                return(positiveResult);
            }

            //Loop through user object models
            foreach (var item in itemsControl.Items)
            {
                //Get the TreeViewItem associated with the iterated object model
                if (itemsControl.ItemContainerGenerator.ContainerFromItem(item) is TreeViewItem tviLevel2 &&
                    FindTreeViewItem(tviLevel2, findItem) is TreeViewItem positiveResultLevel2)
                {
                    return(positiveResultLevel2);
                }
            }
            return(null);
        }