void Raise_BeforeShowContextMenu(AreaItemArgs args)
        {
            EventHandler <AreaItemArgs> handler = BeforeShowContextMenu;

            if (handler != null)
            {
                handler(this, args);
            }
        }
        void m_ItemsList_ItemRemoved(object sender, AreaItemArgs e)
        {
            e.ItemControl.DragStarted   -= new DragStartedEventHandler(ctrl_DragStarted);
            e.ItemControl.DragDelta     -= new DragDeltaEventHandler(ctrl_DragDelta);
            e.ItemControl.DragCompleted -= new DragCompletedEventHandler(ctrl_DragCompleted);

            EventHandler <AreaItemArgs> handler = ItemRemoved;

            if (handler != null)
            {
                handler(this, e);
            }
        }
        void m_FilterAreaContainer_BeforeShowContextMenu(object sender, AreaItemArgs e)
        {
            ChangeMoveToFiltersVisibility(e.ItemControl, Visibility.Collapsed);

            ChangeMoveToColumnsVisibility(e.ItemControl, Visibility.Visible);
            ChangeMoveToRowsVisibility(e.ItemControl, Visibility.Visible);
            ChangeMoveSplitterVisibility(e.ItemControl, Visibility.Visible);
        }
        void AreaContainer_ItemRemoved(object sender, AreaItemArgs e)
        {
            InfoItemControl info_ctrl = e.ItemControl as InfoItemControl;
            if (info_ctrl != null)
            {
                CustomTreeNode node = FindCustomNode(info_ctrl.Wrapper);
                if (node != null)
                    node.UseBoldText = false;
            }

            if (sender == m_DataAreaContainer)
            {
                // Спец. элемент удаляем с отпиской/подпиской удаления. Чтобы не удалились элементы из области данных
                if (m_DataAreaContainer.Items.Count < 2)
                {
                    m_RowsAreaContainer.ItemRemoved -= new EventHandler<AreaItemArgs>(AreaContainer_ItemRemoved);
                    m_ColumnsAreaContainer.ItemRemoved -= new EventHandler<AreaItemArgs>(AreaContainer_ItemRemoved);
                    m_RowsAreaContainer.RemoveItem(FindValuesItem(m_RowsAreaContainer), false);
                    m_ColumnsAreaContainer.RemoveItem(FindValuesItem(m_ColumnsAreaContainer), false);
                    m_RowsAreaContainer.ItemRemoved += new EventHandler<AreaItemArgs>(AreaContainer_ItemRemoved);
                    m_ColumnsAreaContainer.ItemRemoved += new EventHandler<AreaItemArgs>(AreaContainer_ItemRemoved);
                }
            }

            // Если удален специальный элемент VALUES, то нужно очистить область данных
            if (e.ItemControl is Values_AreaItemControl)
            {
                m_DataAreaContainer.Clear();   
            }
        }
 void m_ItemsList_BeforeShowContextMenu(object sender, AreaItemArgs e)
 {
     Raise_BeforeShowContextMenu(e);
 }