예제 #1
0
        public static void AddBinding(this IBindingContextOwner view, object target,
                                      BindingDescription bindingDescription, object clearKey = null)
        {
            var descriptions = new[] { bindingDescription };

            view.AddBindings(target, descriptions, clearKey);
        }
예제 #2
0
        public static void AddBindings(this IBindingContextOwner view, object target,
                                       IEnumerable <BindingDescription> bindingDescriptions, object clearKey = null)
        {
            var bindings = Binder.Bind(view.BindingContext.DataContext, target, bindingDescriptions);

            view.AddBindings(target, bindings, clearKey);
        }
예제 #3
0
 public static void AddBinding(this IBindingContextOwner view, object target, IUpdateableBinding binding, object clearKey = null)
 {
     if (clearKey == null)
     {
         view.BindingContext.RegisterBinding(target, binding);
     }
     else
     {
         view.BindingContext.RegisterBindingWithClearKey(clearKey, target, binding);
     }
 }
예제 #4
0
        public static void AddBindings(this IBindingContextOwner view, object target, IEnumerable <IUpdateableBinding> bindings, object clearKey = null)
        {
            if (bindings == null)
            {
                return;
            }

            foreach (var binding in bindings)
            {
                view.AddBinding(target, binding, clearKey);
            }
        }
예제 #5
0
        public static void AddBindings(this IBindingContextOwner view,
                                       IDictionary <object, string> bindingMap,
                                       object clearKey = null)
        {
            if (bindingMap == null)
            {
                return;
            }

            foreach (var kvp in bindingMap)
            {
                view.AddBindings(kvp.Key, kvp.Value, clearKey);
            }
        }
예제 #6
0
 public static T Bind <T>(this T element, IBindingContextOwner bindingContextOwner, string descriptionText)
 {
     bindingContextOwner.AddBindings(element, descriptionText);
     return(element);
 }
 public static FluentBindingDescription <TTarget> CreateBinding <TTarget>(
     this IBindingContextOwner contextOwner, TTarget target)
     where TTarget : class
 {
     return(new FluentBindingDescription <TTarget>(contextOwner, target));
 }
예제 #8
0
        public static void AddBindings(this IBindingContextOwner view, object target, string bindingText, object clearKey = null)
        {
            var bindings = Binder.Bind(view.BindingContext.DataContext, target, bindingText);

            view.AddBindings(target, bindings, clearKey);
        }
 public static void ClearBindings(this IBindingContextOwner owner, object target)
 {
     owner.BindingContext.ClearBindings(target);
 }
예제 #10
0
        /*
         * This overload removed at present - it caused confusion on iOS
         * because it could lead to the bindings being described before
         * the table cells were fully available
         * public static void DelayBind(this IMvxBindingContextOwner view, params IMvxApplicable[] applicables)
         * {
         *  view.BindingContext.DelayBind(() => applicables.Apply());
         * }
         */

        public static void DelayBind(this IBindingContextOwner view, Action bindingAction)
        {
            view.BindingContext.DelayBind(bindingAction);
        }
예제 #11
0
 public static void CreateBindingContext(this IBindingContextOwner view,
                                         IEnumerable <BindingDescription> bindings)
 {
     view.BindingContext = IoCProvider.Instance.Resolve <IBindingContext>().Init(null, view, bindings);
 }
예제 #12
0
 public static void CreateBindingContext(this IBindingContextOwner view, string bindingText)
 {
     view.BindingContext = IoCProvider.Instance.Resolve <IBindingContext>().Init(null, view, bindingText);
 }
예제 #13
0
 public static void CreateBindingContext(this IBindingContextOwner view)
 {
     view.BindingContext = IoCProvider.Instance.Resolve <IBindingContext>();
 }
예제 #14
0
 public FluentBindingDescription(IBindingContextOwner bindingContextOwner, TTarget target)
     : base(bindingContextOwner, target)
 {
 }
예제 #15
0
 public InlineBindingTarget(IBindingContextOwner bindingContextOwner)
 {
     BindingContextOwner = bindingContextOwner;
 }
예제 #16
0
 public static T Bind <T>(this T element, IBindingContextOwner bindingContextOwner,
                          IEnumerable <BindingDescription> descriptions)
 {
     bindingContextOwner.AddBindings(element, descriptions);
     return(element);
 }
예제 #17
0
 public static InlineBindingTarget CreateInlineBindingTarget(
     this IBindingContextOwner bindingContextOwner)
 {
     return(new InlineBindingTarget(bindingContextOwner));
 }
 public static void ClearAllBindings(this IBindingContextOwner owner)
 {
     owner.BindingContext.ClearAllBindings();
 }