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;
            }
        }
Ejemplo n.º 2
0
 private void UpdateAccountsAdditionalColumnsComponentSource(AccountsAdditionalColumnsComponent newComponent) { }