internal void StartDraggingGroup(GroupMarker gm)
 {
     C1FlexGrid flexGrid = FlexGrid;
     if (flexGrid != null && FinishEditing())
     {
         _dragSource = gm;
         _ddm.DoDragDrop(gm, DragMarkerColor);
     }
 }
 internal void RefreshGroupMarkers()
 {
     var observableCollection = (_view != null) ? _view.GroupDescriptions : null;
     int gdCount = (observableCollection == null) ? 0 : observableCollection.Count;
     BindProperty(Watermark, TextBlock.ForegroundProperty, "ColumnHeaderForeground", "Foreground");
     Watermark.Visibility = ((gdCount == 0) ? Visibility.Visible : Visibility.Collapsed);
     _spMarkers.Children.Clear();
     if (gdCount > 0)
     {
         int m = 0;
         foreach (PropertyGroupDescription pgd in observableCollection)
         {
             GroupMarker groupMarker = new GroupMarker(this, pgd);
             Thickness margin = groupMarker.Margin;
             groupMarker.Margin = new Thickness(margin.Left, margin.Top + m, margin.Right, margin.Bottom);
             _spMarkers.Children.Add(groupMarker);
             m += 6;
         }
     }
 }