Exemplo n.º 1
0
        private static ItemsControl FindVisualContainerForViewModel(ItemsControl menuLayoutTree, FolderViewModel root, FileNodeViewModel item)
        {
            var container = menuLayoutTree;
            var path      = new List <IFileContainer>();
            var parent    = item.Parent;

            while (parent != root.Model)
            {
                path.Add(parent);
                parent = parent.Parent;
            }
            path.Reverse();
            FolderViewModel containerViewModel = root;

            foreach (var element in path)
            {
                containerViewModel = containerViewModel.FindViewModelForModel(element);
                container          = container.ItemContainerGenerator.ContainerFromItem(containerViewModel) as ItemsControl;
            }
            return(container);
        }