public CollectionGridColumn(CollectionGrid dg, PropertyDefinitionModel prop)
 {
     _dg = dg;
     PropertyDefinition = prop;
     _fieldName = PropertyDefinition.Path;
     this.FieldName = PropertyDefinition.Path;
     TextBinding = new Binding($"[{FieldName}]")
     {
         UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
         Mode = BindingMode.OneWay,
         ValidatesOnDataErrors = true,
         NotifyOnValidationError = true
     }; 
     FrameworkElementFactory template = GetTemplate(TextBinding,  this);
     this.CellTemplate = new DataTemplate() { VisualTree = template };
     this.Header = PropertyDefinition.Path;
 }
        public CollectionGridColumn(CollectionGrid dg, PropertyDefinitionModel prop)
        {
            _dg = dg;
            PropertyDefinition = prop;
            _fieldName         = PropertyDefinition.Path;
            this.FieldName     = PropertyDefinition.Path;
            TextBinding        = new Binding($"[{FieldName}]")
            {
                UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged,
                Mode = BindingMode.OneWay,
                ValidatesOnDataErrors   = true,
                NotifyOnValidationError = true
            };
            FrameworkElementFactory template = GetTemplate(TextBinding, this);

            this.CellTemplate = new DataTemplate()
            {
                VisualTree = template
            };
            this.Header = PropertyDefinition.Path;
        }