コード例 #1
0
ファイル: BindingListener.cs プロジェクト: JohnDMathis/Pippin
        private void ReturnListener()
        {
            this.listener.Changed -= this.HandleValueChanged;

            BindingListener.freeListeners.Add(this.listener);

            this.listener = null;
        }
コード例 #2
0
ファイル: BindingListener.cs プロジェクト: JohnDMathis/Pippin
        private void Attach()
        {
            this.Detach();

            if (this.target != null && this.binding != null) {
                this.listener = this.GetListener();
                this.listener.Attach(target, binding);
            }
        }
コード例 #3
0
ファイル: BindingListener.cs プロジェクト: JohnDMathis/Pippin
        private DependencyPropertyListener GetListener()
        {
            DependencyPropertyListener listener;

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

                return listener;
            }
            else
                listener = new DependencyPropertyListener();

            listener.Changed += this.HandleValueChanged;

            return listener;
        }