void ChangeColumnName(object sender, ExecutedRoutedEventArgs e)
        {
            wnd_ColumnsManager wnd = new wnd_ColumnsManager();
            wnd.InitList(Document.ColumnDefinitions, "Select column to change name", "Change Name");
            wnd.Owner = this;
            if (wnd.ShowDialog() == true)
            {
                OutlinerColumnDefinition definition = wnd.ColumnsList.SelectedItem as OutlinerColumnDefinition;
                if (definition == null)
                    return;

                wnd_RenameColumn rename = new wnd_RenameColumn();
                rename.Owner = this;
                rename.ColumnName.Text = definition.ColumnName;
                rename.ColumnName.SelectAll();
                if (rename.ShowDialog() == true)
                {
                    definition.ColumnName = rename.ColumnName.Text;
                }
            }
        }
        void RemoveColumn(object sender, ExecutedRoutedEventArgs e)
        {
            wnd_ColumnsManager wnd = new wnd_ColumnsManager();
            wnd.InitList(Document.ColumnDefinitions, "Select column to remove", "Remove Column");
            wnd.Owner = this;
            if (wnd.ShowDialog() == true)
            {
                OutlinerColumnDefinition definition = (wnd.ColumnsList.SelectedItem as OutlinerColumnDefinition);
                if (definition == null)
                    return;
                int defIdx = Document.ColumnDefinitions.IndexOf(definition);
                if (defIdx == 0)
                {
                    MessageBox.Show("Main column cannot be removed.", "Cannot remove column", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                else
                {
                    MessageBoxResult result = MessageBox.Show(
                        String.Format("This will remove column '{0}'. This action cannot be undone. \nDo you want to continue?", definition.ColumnName),
                        "Column removal", MessageBoxButton.YesNo, MessageBoxImage.Warning);
                    if (result == MessageBoxResult.Yes)
                        RemoveColumn(defIdx);

                    Document.UndoManager.ClearStacks();
                    OutlinerTree.HeaderVisible = (Document.ColumnDefinitions.Count > 1) ? Visibility.Visible : Visibility.Collapsed;
                }
            }
        }