/// <summary> Static GridReordering factory. </summary>
        /// <param name="grid"> Grid to apply pattern for. </param>
        /// <param name="dragCol"> Enable Drag&amp;Drop only for the FrameworkElements of this column.
        /// If set to null, each FrameworkElement of the grid is applicable for Drag&amp;Drop. </param>
        /// <param name="RowMoved"> Event handler which is added to the row moved event. </param>
        /// <returns> The <see cref="GridReordering"/>. </returns>
        public static GridReordering apply(Grid grid, int?dragCol, RowMovedEventHandler RowMoved)
        {
            var p = new GridReordering(grid, dragCol);

            p.RowMoved += RowMoved;
            GetDefaultTextColor(grid);

            return(p);
        }
 /// <summary> Set attached pattern property. </summary>
 /// <param name="grid"> Documentation in progress... </param>
 /// <param name="value"> Documentation in progress... </param>
 private static void SetGridReorderPattern(Grid grid, GridReordering value)
 {
     grid.SetValue(GridReorderPatternProperty, value);
 }