public IEnumerable <ISettingBinding> ProvideBindings(DependencyObject target) { var builder = new ValueBindingBuilder(); var synchronizationGroup = new SynchronizationGroup(); builder.UseSynchronizationGroup(synchronizationGroup); var dataGrid = (DataGrid)target; var @namespace = Settings.GetNamespace(target); var columns = GetColumnsInInitializationOrder(dataGrid, @namespace); var bindings = GetStoredProperties() .SelectMany( property => columns.Select((c, i) => new { Column = c, ColumnIndex = dataGrid.Columns.IndexOf(c) }), (property, c) => BindColumn(c.Column, c.ColumnIndex, property, @namespace, builder)); return(bindings); }
public ValueBindingBuilder UseSynchronizationGroup(SynchronizationGroup synchronizationGroup) { _synchronizationGroup = synchronizationGroup; return(this); }