Пример #1
0
        /// <summary>
        /// Connect the binding to an array.
        /// </summary>
        public void Connect(object obj)
        {
            Argument.NotNull(() => obj);

            Disconnect();

            array    = (Array)obj;
            bindings = bindingsFactory.CreateArrayBindings(array);

            propertyChangingEventStream.Bind(Observable
                                             .Merge(this.bindings
                                                    .Select(b => b.PropertyChangingEventStream)
                                                    ));

            propertyChangedEventStream.Bind(Observable
                                            .Merge(this.bindings
                                                   .Select(b => b.PropertyChangedEventStream)
                                                   ));

            collectionChangedEventStream.Bind(Observable
                                              .Merge(this.bindings
                                                     .Select(b => b.CollectionChangedEventStream)
                                                     ));
        }