Пример #1
0
        private static BindingMode CreateBindingForAddNewRow(GridColumn column)
        {
            PropertyDescriptorCollection itemproperties = (column.DataGrid != null && column.DataGrid.View != null)
               ? column.DataGrid.View.GetItemProperties()
               : null;

            if (itemproperties == null)
            {
                return(BindingMode.TwoWay);
            }

            var propDesc = itemproperties.GetPropertyDescriptor(column.MappingName);

            if (propDesc != null)
            {
#if WPF
                if (propDesc.IsReadOnly)
#else
                if (propDesc.SetMethod == null || !propDesc.SetMethod.IsPublic)
#endif
                { return(BindingMode.OneWay); }
            }
            else if (propDesc == null)
            {
                if (column.AllowEditing && column.CanEditCell())
                {
                    return(BindingMode.TwoWay);
                }
                return(BindingMode.OneWay);
            }
            return(BindingMode.TwoWay);
        }