Exemple #1
0
        private void ReturnListener()
        {
            this.listener.Changed -= this.HandleValueChanged;

            freeListeners.Add(this.listener);

            this.listener = null;
        }
Exemple #2
0
        private void Attach()
        {
            this.Detach();

            if (this.target != null && this.binding != null)
            {
                this.listener = this.GetListener();
                this.listener.Attach(this.target, this.binding);
            }
        }
        public void ListenerChangedIsRaisedWhenDataContextPropertyChanges()
        {
            var myObject = new MyClass {Value = "Initial"};
            var binding = new Binding("Value");
            var element = new TextBlock {DataContext = myObject};

            var currentState = string.Empty;
            var listener = new DependencyPropertyListener();
            listener.Changed += ((s, e) => currentState = (string) e.EventArgs.NewValue);
            listener.Attach(element, binding);

            var initialState = currentState;
            myObject.Value = "NewValue";
            var finalState = currentState;

            Assert.AreEqual("Initial", initialState);
            Assert.AreEqual("NewValue", finalState);
        }
Exemple #4
0
        private DependencyPropertyListener GetListener()
        {
            DependencyPropertyListener dependencyPropertyListener;

            if (freeListeners.Count != 0)
            {
                dependencyPropertyListener = freeListeners[freeListeners.Count - 1];
                freeListeners.RemoveAt(freeListeners.Count - 1);

                return(dependencyPropertyListener);
            }
            else
            {
                dependencyPropertyListener = new DependencyPropertyListener();
            }

            dependencyPropertyListener.Changed += this.HandleValueChanged;

            return(dependencyPropertyListener);
        }
Exemple #5
0
        private void Attach()
        {
            this.Detach();

            if (this.target != null && this.binding != null)
            {
                this.listener = this.GetListener();
                this.listener.Attach(this.target, this.binding);
            }
        }
Exemple #6
0
        private void ReturnListener()
        {
            this.listener.Changed -= this.HandleValueChanged;

            freeListeners.Add(this.listener);

            this.listener = null;
        }
Exemple #7
0
        private DependencyPropertyListener GetListener()
        {
            DependencyPropertyListener dependencyPropertyListener;

            if (freeListeners.Count != 0)
            {
                dependencyPropertyListener = freeListeners[freeListeners.Count - 1];
                freeListeners.RemoveAt(freeListeners.Count - 1);

                return dependencyPropertyListener;
            }
            else
            {
                dependencyPropertyListener = new DependencyPropertyListener();
            }

            dependencyPropertyListener.Changed += this.HandleValueChanged;

            return dependencyPropertyListener;
        }