protected override void Tree_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            LevelTreeNode node = e.NewValue as LevelTreeNode;

            m_IsReadyToSelection = node != null;

            base.Tree_SelectedItemChanged(sender, e);
        }
        protected override void TreeNode_MouseDoubleClick(object sender, CustomEventArgs <CustomTreeNode> e)
        {
            // Уровни будут конечными узлами. Двойной клик на них будет равнозначен выбору
            LevelTreeNode node = e.Args as LevelTreeNode;

            if (node != null)
            {
                Raise_ApplySelection();
            }
        }