public void ResolverShouldThrowExceptionIfObjectIsAlreadyRegisteredRewriteFalse() { const string name = "name"; var source = new BindingResourceObject("test"); var resolver = CreateBindingResourceResolver(); resolver.AddObject(name, source, false); ShouldThrow(() => resolver.AddObject(name, source, false)); }
public static BindingResourceObject AddObject([NotNull] this IBindingResourceResolver resolver, [NotNull] string name, object value, bool rewrite = true) { Should.NotBeNull(resolver, nameof(resolver)); var resourceObject = new BindingResourceObject(value); resolver.AddObject(name, resourceObject, rewrite); return(resourceObject); }
public void ResolverShouldRegisterAndResolveObject() { const string name = "name"; var source = new BindingResourceObject("test"); var resolver = CreateBindingResourceResolver(); resolver.ResolveObject(name, EmptyContext, false).ShouldBeNull(); resolver.AddObject(name, source, true); resolver.ResolveObject(name, EmptyContext, true).ShouldEqual(source); }
public BindingResourcesViewModel() { var resourceResolver = BindingServiceProvider.ResourceResolver; _objResource = new BindingResourceObject("String value"); resourceResolver.AddObject("obj", _objResource); resourceResolver.AddMethod("Method", new BindingResourceMethod(Method, typeof(object))); resourceResolver.AddType("CustomType", typeof(BindingResourcesViewModel)); UpdateResourceCommand = new RelayCommand(UpdateResource); }
public void ResolverShouldNotThrowExceptionIfObjectIsAlreadyRegisteredRewriteTrue() { const string name = "name"; var source = new BindingResourceObject("test"); var source2 = new BindingResourceObject("test"); var resolver = CreateBindingResourceResolver(); resolver.AddObject(name, source, false); resolver.AddObject(name, source2, true); resolver.ResolveObject(name, EmptyContext, true).ShouldEqual(source2); }
public void ResolverShouldRegisterAndResolveDynamicObject() { const string name = "name"; const string firstValue = "1"; const string secondValue = "2"; var source = new BindingResourceObject(firstValue); var resolver = CreateBindingResourceResolver(); bool isInvoked = false; var value = resolver.ResolveObject(name, EmptyContext, false); value.Value.ShouldBeNull(); value.ValueChanged += (sender, args) => isInvoked = true; resolver.AddObject(name, source, true); value.Value.ShouldEqual(firstValue); isInvoked.ShouldBeTrue(); isInvoked = false; resolver.AddObject(name, new BindingResourceObject(secondValue), true); value.Value.ShouldEqual(secondValue); isInvoked.ShouldBeTrue(); }