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(); }