public void Execute(object parameter)
        {
            ICraftingTreeItem item = (ICraftingTreeItem)_craftingTreeControl.CraftingTreeView.SelectedItem;

            var treeViewItem = _craftingTreeControl.CraftingTreeView.ItemContainerGenerator.ContainerFromItem(item) as TreeViewItem;

            treeViewItem.IsSelected = false;

            _craftingTreeControl.Items.Remove(item);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets all items within the Crafting tree. Roots, compound ingredients, and base ingredients in one list.
        /// </summary>
        /// <param name="rootNodes"></param>
        /// <returns></returns>
        public static IEnumerable <ICraftingTreeItem> Descendants(this IEnumerable <ICraftingTreeItem> rootNodes)
        {
            var nodes = new Stack <ICraftingTreeItem>(rootNodes);

            while (nodes.Any())
            {
                ICraftingTreeItem node = nodes.Pop();
                yield return(node);

                if (node is ICraftingTreeCompoundItem)
                {
                    var compoundNode = node as ICraftingTreeCompoundItem;
                    foreach (var n in compoundNode.Ingredients)
                    {
                        nodes.Push(n);
                    }
                }
            }
        }