protected override void RefreshTree()
        {
            base.RefreshTree();

            if (CubeInfo != null)
            {
                //// Будем выводить информацию для всего куба
                //m_CubeNode = new CubeTreeNode(CubeInfo);
                //m_CubeNode.MouseDoubleClick += new EventHandler<CustomEventArgs<CustomTreeNode>>(TreeNode_MouseDoubleClick);
                //AllowDragDrop(m_CubeNode);
                //Tree.Items.Add(m_CubeNode);

                // Добавляем узел KPIs
                KPIsFolderTreeNode kpisNode = new KPIsFolderTreeNode();
                kpisNode.MouseDoubleClick += new EventHandler<CustomEventArgs<CustomTreeNode>>(TreeNode_MouseDoubleClick);
                //m_CubeNode.Items.Add(kpisNode);
                Tree.Items.Add(kpisNode);
                CreateKPIs(kpisNode, CubeInfo, true);

                // Добавляем узел Measures
                m_Measures_Node = new MeasuresFolderTreeNode();
                m_Measures_Node.MouseDoubleClick += new EventHandler<CustomEventArgs<CustomTreeNode>>(TreeNode_MouseDoubleClick);
                m_Measures_Node.Text = "Measures";
                //m_CubeNode.Items.Add(m_Measures_Node);
                Tree.Items.Add(m_Measures_Node);
                m_Measures_Node.Icon = UriResources.Images.Measure16;
                CreateMeasures(m_Measures_Node, CubeInfo); 

                // Добавляем узел NamedSets
                m_Sets_Node = new FolderTreeNode();
                m_Sets_Node.MouseDoubleClick += new EventHandler<CustomEventArgs<CustomTreeNode>>(TreeNode_MouseDoubleClick);
                m_Sets_Node.Text = "Sets";
                if (m_Sets_Node != null)
                {
                    m_NamedSetFolderNodes["Sets"] = m_Sets_Node;
                }
                //m_CubeNode.Items.Add(m_Sets_Node);
                Tree.Items.Add(m_Sets_Node);
                CreateNamedSets(m_Sets_Node, CubeInfo);

                // Добавляем узел Calculations
                m_CustomCalculations_Node = new FolderTreeNode(UriResources.Images.CustomCalculations16, UriResources.Images.CustomCalculations16);
                m_CustomCalculations_Node.MouseDoubleClick += new EventHandler<CustomEventArgs<CustomTreeNode>>(TreeNode_MouseDoubleClick);
                m_CustomCalculations_Node.Text = Localization.MdxDesigner_Calculations;
                if (m_CubeNode != null)
                    m_CubeNode.Items.Add(m_CustomCalculations_Node);
                else
                    Tree.Items.Add(m_CustomCalculations_Node);
                CreateCalculations(m_CustomCalculations_Node);

                // Создаем измерения
                CreateDimensions(m_CubeNode, CubeInfo, true);

                //m_CubeNode.IsExpanded = true;
            }
        }
        public CalculationsListControl()
        {
            Grid LayoutRoot = new Grid();
            
            m_Tree = new CustomTree() { BorderBrush = new SolidColorBrush(Colors.DarkGray) };
            m_Tree.SelectedItemChanged += new RoutedPropertyChangedEventHandler<object>(m_Tree_SelectedItemChanged);
            LayoutRoot.Children.Add(m_Tree);

            m_CalculatedMembers_Node = new FolderTreeNode();
            m_CalculatedMembers_Node.Text = Localization.CalculationsListControl_CalculatedMembers_TreeNode;
            m_Tree.Items.Add(m_CalculatedMembers_Node);

            m_NamedSets_Node = new FolderTreeNode();
            m_NamedSets_Node.Text = Localization.CalculationsListControl_NamedSets_TreeNode;
            m_Tree.Items.Add(m_NamedSets_Node);

            m_CalculatedMembers_Node.IsExpanded = true;
            m_NamedSets_Node.IsExpanded = true;

            this.Content = LayoutRoot;

            //this.Loaded += new RoutedEventHandler(ObjectsListControlBase_Loaded);
        }
        private void RefreshTree()
        {
            Tree.Items.Clear();
            m_GroupNodes.Clear();

            // Добавляем узел Measures
            FolderTreeNode cubesNode = new FolderTreeNode();
            cubesNode.Text = "Cubes";
            Tree.Items.Add(cubesNode);

            cubesNode.IsWaiting = true;
            cubesNode.IsExpanded = true;
            
            MetadataQuery args = CommandHelper.CreateGetCubesQueryArgs(Connection);
            Loader.LoadData(args, cubesNode);
        }