/// <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));
 }
Exemple #2
0
 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));
 }
Exemple #3
0
 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));
 }
Exemple #4
0
 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;
                }
            }
        }
 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();
 }
Exemple #8
0
        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));
        }
Exemple #9
0
        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;
         }
     }
 }