private static string GetColumnText(DataGridColumn column, object dataContext)
        {
            Contract.Requires(column != null);
            Contract.Requires(dataContext != null);

            try
            {
                if (column.Visibility != Visibility.Visible)
                    return null;

                return column.OnCopyingCellClipboardContent(dataContext) as string;
            }
            catch
            {
                return null;
            }
        }