示例#1
0
        public virtual void ClearBindings(object target, IDataContext context = null)
        {
            Should.NotBeNull(target, nameof(target));
            IAttachedValueProvider provider = ServiceProvider.AttachedValueProvider;
            var values = provider.GetValues(target, GetBindingPredicateDelegate);

            for (int index = 0; index < values.Count; index++)
            {
                var value = values[index];
                ClearBinding((IDataBinding)value.Value);
                provider.Clear(target, value.Key);
            }
        }
        public void ClearPathTest()
        {
            var target = new object();
            var value1 = new object();
            var value2 = new object();

            _provider.SetValue(target, FirstPath, value1);
            _provider.SetValue(target, SecondPath, value2);

            _provider.GetValue <object>(target, FirstPath, true).ShouldEqual(value1);
            _provider.Clear(target, FirstPath).ShouldBeTrue();
            _provider.GetValue <object>(target, FirstPath, false).ShouldBeNull();
            _provider.Clear(target, FirstPath).ShouldBeFalse();

            _provider.GetValue <object>(target, SecondPath, true).ShouldEqual(value2);
            _provider.Clear(target, SecondPath).ShouldBeTrue();
            _provider.GetValue <object>(target, SecondPath, false).ShouldBeNull();
            _provider.Clear(target, SecondPath).ShouldBeFalse();
        }