예제 #1
0
        protected void ConnectSourceAndTarget()
        {
            switch (realMode)
            {
            case BindingMode.OneTime:
                break;

            case BindingMode.OneWay:
                source.PropertyChanged += SourceListener;
                break;

            case BindingMode.OneWayToSource:
                if (null == adapter)
                {
                    ((INotifyPropertyChanged)target).PropertyChanged += TargetListener;
                }
                else
                {
                    targetListenerWrapper = adapter.AddPropertyChangedListener(target, TargetListener);
                }
                break;

            case BindingMode.TwoWay:
                source.PropertyChanged += SourceListener;
                //
                if (null == adapter)
                {
                    ((INotifyPropertyChanged)target).PropertyChanged += TargetListener;
                }
                else
                {
                    targetListenerWrapper = adapter.AddPropertyChangedListener(target, TargetListener);
                }
                break;
            }
        }