private void MapNodeVm_MouseEnter(object sender, EventArgs e)
    {
        var nodeViewModel = (MapNodeVM)sender;
        var eventArgs     = new NodeInteractEventArgs(nodeViewModel);

        NodeEnter?.Invoke(this, eventArgs);
    }
示例#2
0
        private void Worker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            if (!(e.UserState is NodeEvent))
            {
                return;
            }

            TreeNodeCollection nodes = null;

            if (CurrentParent != null)
            {
                nodes = CurrentParent.Nodes;
            }
            else
            {
                switch (((NodeEvent)e.UserState).Dest)
                {
                case NodeDest.From:
                    nodes = fromTreeView.Nodes;
                    break;

                case NodeDest.To:
                    nodes = toTreeView.Nodes;
                    break;
                }
            }
            NodeEnter enter = e.UserState as NodeEnter;

            if (enter != null)
            {
                TreeNode child = new TreeNode(enter.Name);
                if (enter.Sort)
                {
                    TreeNodeInsertSorted(nodes, child);
                }
                else
                {
                    nodes.Add(child);
                }
                CurrentParent = child;
            }
            NodeExit exit = e.UserState as NodeExit;

            if (exit != null)
            {
                CurrentParent = CurrentParent.Parent;
            }
            NodeData node_data = e.UserState as NodeData;

            if (node_data != null)
            {
                TreeNode child = new TreeNode(node_data.Name);
                child.Tag = node_data.Object;
                TreeNodeInsertSorted(nodes, child);
            }
        }