/// <summary> /// Gets the binding context for the specified item. /// </summary> public static IBindingContext GetBindingContext([NotNull] this IBindingContextManager contextManager, [NotNull] object target, [NotNull] string targetPath) { Should.NotBeNull(contextManager, "contextManager"); if (targetPath == AttachedMemberConstants.DataContext) { return(new BindingContextWrapper(target)); } return(contextManager.GetBindingContext(target)); }
public static IBindingContext GetBindingContext([NotNull] this IBindingContextManager contextManager, [NotNull] object target, [NotNull] string targetPath) { Should.NotBeNull(contextManager, nameof(contextManager)); if (BindingServiceProvider.DataContextMemberAliases.Contains(targetPath)) { return(ServiceProvider.AttachedValueProvider.GetOrAdd(target, "#$@wrapdata", (o, o1) => new BindingContextWrapper(o), null)); } return(contextManager.GetBindingContext(target)); }
public static IBindingContext GetBindingContext([NotNull] this IBindingContextManager contextManager, [NotNull] object target, [NotNull] string targetPath) { Should.NotBeNull(contextManager, "contextManager"); if (BindingServiceProvider.DataContextMemberAliases.Contains(targetPath)) { return(new BindingContextWrapper(target)); } return(contextManager.GetBindingContext(target)); }
internal static void SetDefaultValues() { _valueConverter = BindingReflectionExtensions.Convert; _resourceResolver = new BindingResourceResolver(); _memberProvider = new BindingMemberProvider(); _visualTreeManager = new VisualTreeManager(); _weakEventManager = new WeakEventManager(); _bindingManager = new BindingManager(); _bindingProvider = new BindingProvider(); _observerProvider = new ObserverProvider(); _contextManager = new BindingContextManager(); }
internal static void SetDefaultValues() { BindingCultureInfo = null; _updateEventFinder = FindUpdateEvent; _bindingPathFactory = BindingPath.Create; _valueConverter = BindingReflectionExtensions.Convert; _resourceResolver = new BindingResourceResolver(); _memberProvider = new BindingMemberProvider(); _visualTreeManager = new VisualTreeManager(); _weakEventManager = new WeakEventManager(); _bindingManager = new BindingManager(); _bindingProvider = new BindingProvider(); _observerProvider = new ObserverProvider(); _contextManager = new BindingContextManager(); }
public void SetSelectedItem(object selectedItem, IDataContext context = null) { IBindingContextManager contextManager = BindingServiceProvider.ContextManager; for (int i = 0; i < _actionBar.TabCount; i++) { var tab = _actionBar.GetTabAt(i); if (contextManager.GetBindingContext(tab).Value == selectedItem) { if (tab.Position != _actionBar.SelectedNavigationIndex) { tab.Select(); } return; } } }
protected virtual IObserver CreateObserver(object source, string path, bool ignoreContext, IBindingMemberProvider memberProvider = null, IBindingContextManager contextManager = null) { if (memberProvider != null) { BindingServiceProvider.MemberProvider = memberProvider; } if (contextManager != null) { BindingServiceProvider.ContextManager = contextManager; } var bindingPath = BindingPath.Create(path); if (bindingPath.IsEmpty) { return(new EmptyPathObserver(source, bindingPath)); } if (bindingPath.IsSingle) { return(new SinglePathObserver(source, bindingPath, ignoreContext)); } return(new MultiPathObserver(source, bindingPath, ignoreContext)); }
protected virtual IObserver CreateObserver(object source, string path, bool ignoreContext, IBindingMemberProvider memberProvider = null, IBindingContextManager contextManager = null, bool hasStablePath = false, bool observable = true, bool optional = false) { if (memberProvider != null) { BindingServiceProvider.MemberProvider = memberProvider; } if (contextManager != null) { BindingServiceProvider.ContextManager = contextManager; } var bindingPath = new BindingPath(path); if (bindingPath.IsEmpty) { return(new EmptyPathObserver(source, bindingPath)); } if (bindingPath.IsSingle) { return(new SinglePathObserver(source, bindingPath, ignoreContext, hasStablePath, observable, optional)); } return(new MultiPathObserver(source, bindingPath, ignoreContext, hasStablePath, observable, optional)); }
protected virtual IObserver CreateObserver(object source, string path, bool ignoreContext, IBindingMemberProvider memberProvider = null, IBindingContextManager contextManager = null) { if (memberProvider != null) BindingServiceProvider.MemberProvider = memberProvider; if (contextManager != null) BindingServiceProvider.ContextManager = contextManager; var bindingPath = BindingPath.Create(path); if (bindingPath.IsEmpty) return new EmptyPathObserver(source, bindingPath); if (bindingPath.IsSingle) return new SinglePathObserver(source, bindingPath, ignoreContext); return new MultiPathObserver(source, bindingPath, ignoreContext); }
protected virtual IObserver CreateObserver(object source, string path, bool ignoreContext, IBindingMemberProvider memberProvider = null, IBindingContextManager contextManager = null, bool hasStablePath = false, bool observable = true, bool optional = false) { if (memberProvider != null) BindingServiceProvider.MemberProvider = memberProvider; if (contextManager != null) BindingServiceProvider.ContextManager = contextManager; var bindingPath = new BindingPath(path); if (bindingPath.IsEmpty) return new EmptyPathObserver(source, bindingPath); if (bindingPath.IsSingle) return new SinglePathObserver(source, bindingPath, ignoreContext, hasStablePath, observable, optional); return new MultiPathObserver(source, bindingPath, ignoreContext, hasStablePath, observable, optional); }
public static void Initialize(IBindingProvider bindingProvider = null, IBindingManager bindingManager = null, IBindingResourceResolver resourceResolver = null, IBindingMemberProvider memberProvider = null, IVisualTreeManager visualTreeManager = null, IWeakEventManager weakEventManager = null, IObserverProvider observerProvider = null, IBindingContextManager contextManager = null, IBindingErrorProvider errorProvider = null, Func <IBindingMemberInfo, Type, object, object> converter = null, Func <string, IBindingPath> bindingPathFactory = null, Func <Type, string, IBindingMemberInfo> findUpdateEvent = null, Func <CultureInfo> bindingCultureInfo = null, IDictionary <string, IBindingBehavior> bindingModeBehaviors = null) { ValueConverter = converter ?? ((info, type, arg3) => arg3); BindingProvider = bindingProvider ?? new BindingProvider(); BindingManager = bindingManager ?? new BindingManager(); ResourceResolver = resourceResolver ?? new BindingResourceResolver(); MemberProvider = memberProvider ?? new BindingMemberProvider(); VisualTreeManager = visualTreeManager ?? new VisualTreeManager(); WeakEventManager = weakEventManager ?? new WeakEventManager(); ObserverProvider = observerProvider ?? new ObserverProvider(); ContextManager = contextManager ?? new BindingContextManager(); BindingPathFactory = bindingPathFactory ?? BindingPathFactoryDefaultImpl; UpdateEventFinder = findUpdateEvent ?? FindUpdateEventDefaultImpl; BindingCultureInfo = bindingCultureInfo ?? BindingCultureInfoDefaultImpl; ErrorProvider = errorProvider; if (bindingModeBehaviors == null) { InitializeDefaultBindingModeBehaviors(); } else { foreach (var behavior in bindingModeBehaviors) { BindingModeToBehavior[behavior.Key] = behavior.Value; } } }