コード例 #1
0
 protected override void Dispose(bool disposing)
 {
     if (!disposed)
     {
         this.DisposeSourceProxy();
         this.DisposeTargetProxy();
         this.bindingDescription = null;
         disposed = true;
         base.Dispose(disposing);
     }
 }
コード例 #2
0
        protected void CreateTargetProxy(object target, BindingDescription description)
        {
            this.DisposeTargetProxy();

            this.targetProxy = this.targetProxyFactory.CreateProxy(target, description);

            if (this.IsSubscribeTargetValueChanged(this.BindingMode) && this.targetProxy is INotifiable)
            {
                this.targetValueChangedHandler = (sender, args) => this.UpdateSourceFromTarget();
                (this.targetProxy as INotifiable).ValueChanged += this.targetValueChangedHandler;
            }
        }
コード例 #3
0
        public Binding(object source, object target, BindingDescription bindingDescription, ISourceProxyFactory sourceProxyFactory, ITargetProxyFactory targetProxyFactory) : base(source, target)
        {
            this.bindingDescription = bindingDescription;

            this.converter          = bindingDescription.Converter;
            this.sourceProxyFactory = sourceProxyFactory;
            this.targetProxyFactory = targetProxyFactory;

            this.CreateTargetProxy(this.Target, this.bindingDescription);
            this.CreateSourceProxy(this.DataContext, this.bindingDescription.Source);
            this.UpdateDataOnBind();
        }
コード例 #4
0
 public static void AddBinding(this Behaviour behaviour, BindingDescription bindingDescription)
 {
     behaviour.BindingContext().Add(behaviour, bindingDescription);
 }
コード例 #5
0
 public static void AddBinding(this Behaviour behaviour, object target, BindingDescription bindingDescription, object key = null)
 {
     behaviour.BindingContext().Add(target, bindingDescription, key);
 }
コード例 #6
0
 public IBinding Create(object source, object target, BindingDescription bindingDescription)
 {
     return(new Binding(source, target, bindingDescription, this.sourceProxyFactory, this.targetProxyFactory));
 }