private void C_NODE_GROUP_LIST_ItemClick(object sender, ItemClickEventArgs e)
        {
            var dc = ((ListView)sender);

            var item  = (Model.TrickerStarGroupModel)e.ClickedItem;
            var nodes = m_NodeGroup.Keys;

            double top = Double.MaxValue, left = Double.MaxValue, right = Double.MinValue, down = Double.MinValue;
            bool   SelectFlag = false;

            foreach (string node_name in nodes)
            {
                Model.TrickerStarGroupModel g = (Model.TrickerStarGroupModel)m_NodeGroup[node_name];
                if (g.GroupName.Equals(item.GroupName))
                {
                    C_MAIN_NODE_VIEW.TS_SelectNode(node_name);
                    var pos = C_MAIN_NODE_VIEW.TS_GetNodePosition(node_name);
                    left = Math.Min(left, pos.X);
                    top  = Math.Min(top, pos.Y);

                    right      = Math.Max(right, pos.X);
                    down       = Math.Max(down, pos.Y);
                    SelectFlag = true;
                }
            }
            if (SelectFlag)
            {
                C_MAIN_NODE_VIEW.TS_FocusPos(new Point()
                {
                    X = (right + left) / 2, Y = (top + down) / 2
                });
            }
        }
        private void C_SET_GROUP_BUTTON_Click(object sender, RoutedEventArgs e)
        {
            var dc    = ((Button)sender).DataContext;
            var item  = (Model.TrickerStarGroupModel)dc;
            var nodes = C_MAIN_NODE_VIEW.TS_GetSelectedNodes();

            foreach (String node_name in nodes)
            {
                m_NodeGroup[node_name] = new Model.TrickerStarGroupModel()
                {
                    GroupName  = item.GroupName,
                    GroupTitle = item.GroupTitle,
                };
            }
        }