private void SetColumnBinding(DependencyProperty targetProperty, ColumnBase parentColumn, DependencyProperty sourceProperty)
        {
            if (this.HasColumnBinding(targetProperty, parentColumn, sourceProperty))
            {
                return;
            }

            var binding = ColumnManagerCell.CreateColumnBinding(parentColumn, sourceProperty);

            if (binding != null)
            {
                BindingOperations.SetBinding(this, targetProperty, binding);
            }
            else
            {
                BindingOperations.ClearBinding(this, targetProperty);
            }
        }
        private void SetColumnBinding(DependencyProperty targetProperty, string sourceProperty)
        {
            if (BindingOperations.GetBinding(this, targetProperty) != null)
            {
                return;
            }

            var binding = ColumnManagerCell.CreateColumnBinding(sourceProperty);

            if (binding != null)
            {
                BindingOperations.SetBinding(this, targetProperty, binding);
            }
            else
            {
                BindingOperations.ClearBinding(this, targetProperty);
            }
        }