コード例 #1
0
        static IDisposable BindOneWayCore <TTarget, TSource>(IEnumerable target, Func <TSource, TTarget> itemConverter, IEnumerable source, bool reverse, bool useStrongReferences)
        {
            var binding = new CollectionOneWayBinding <TTarget, TSource>(target, itemConverter, source, new CollectionLocker(), new CollectionLocker(), reverse, useStrongReferences);

            binding.Reset();
            return(binding);
        }
コード例 #2
0
 public void Dispose()
 {
     sourceToTarget.Dispose();
     sourceToTarget = null;
     targetToSource.Dispose();
     targetToSource = null;
 }
コード例 #3
0
            public CollectionTwoWayBinding(IEnumerable target, Func <TSource, TTarget> itemConverter, IEnumerable source, Func <TTarget, TSource> itemBackConverter, bool reverse, bool useStrongReferences)
            {
                CollectionLocker sourceLocker = new CollectionLocker();
                CollectionLocker targetLocker = new CollectionLocker();

                targetToSource = new CollectionOneWayBinding <TSource, TTarget>(source, itemBackConverter, target, targetLocker, sourceLocker, reverse, useStrongReferences);
                sourceToTarget = new CollectionOneWayBinding <TTarget, TSource>(target, itemConverter, source, sourceLocker, targetLocker, reverse, useStrongReferences);
            }
コード例 #4
0
            public CollectionTwoWayBinding(object target, Func <TSource, TTarget> itemConverter, object source, Func <TTarget, TSource> itemBackConverter, bool reverse)
            {
                CollectionLocker sourceLocker = new CollectionLocker();
                CollectionLocker targetLocker = new CollectionLocker();

                targetToSource = new CollectionOneWayBinding <TSource, TTarget>(source, itemBackConverter, target, itemConverter, targetLocker, sourceLocker, reverse);
                sourceToTarget = new CollectionOneWayBinding <TTarget, TSource>(target, itemConverter, source, itemBackConverter, sourceLocker, targetLocker, reverse);
            }