private void UpdateAccountsAdditionalColumnsComponentSource(AccountsAdditionalColumnsComponent newItem, AccountsAdditionalColumnsComponent oldItem) { if (oldItem != null) { oldItem.Change -= AccountsAdditionalColumnsComponent_Change; BindingOperations.ClearBinding(oldItem, AccountsAdditionalColumnsComponent.AccountProperty); BindingOperations.ClearBinding(oldItem, AbstractComponent.IsActiveProperty); DependencyPropertyDescriptor.FromProperty(AbstractComponent.ReadOnlyIsLoadedProperty, newItem.GetType()) .RemoveValueChanged(oldItem, AccountsAdditionalColumnsComponent_IsLoadedChanged); } localCollection.Clear(); if (newItem != null) { localCollection.AddRange(newItem.AccountDataRecordAdditionalColumns); newItem.Change += AccountsAdditionalColumnsComponent_Change; var accountBinding = new Binding() { Source = this, Path = new PropertyPath(AccountProperty.Name), Mode = BindingMode.OneWay, UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged }; var isActiveBinding = new Binding() { Source = this, Path = new PropertyPath(IsActiveProperty.Name), Mode = BindingMode.OneWay, UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged }; BindingOperations.SetBinding(newItem, AccountsAdditionalColumnsComponent.AccountProperty, accountBinding); BindingOperations.SetBinding(newItem, AbstractComponent.IsActiveProperty, isActiveBinding); DependencyPropertyDescriptor.FromProperty(AbstractComponent.ReadOnlyIsLoadedProperty, newItem.GetType()) .AddValueChanged(newItem, AccountsAdditionalColumnsComponent_IsLoadedChanged); this.IsBusy = !AccountsAdditionalColumnsComponent.IsLoaded; } }
private void UpdateAccountsAdditionalColumnsComponentSource(AccountsAdditionalColumnsComponent newComponent) { }