コード例 #1
0
        /// <summary>
        /// Creates a binding and sets it on the element, guarding against pre-existing bindings.
        /// </summary>
        public static bool SetBindingWithoutBindingOverwrite(Type viewModelType, string path, PropertyInfo property,
                                                             VisualElement element, ElementConvention convention,
                                                             BindableProperty bindableProperty)
        {
            if (bindableProperty == null || HasBinding(element, bindableProperty))
            {
                return(false);
            }

            SetBinding(viewModelType, path, property, element, convention, bindableProperty);
            return(true);
        }
コード例 #2
0
        /// <summary>
        /// Creates a binding and set it on the element, guarding against pre-existing bindings and pre-existing values.
        /// </summary>
        /// <param name="viewModelType"></param>
        /// <param name="path"></param>
        /// <param name="property"></param>
        /// <param name="element"></param>
        /// <param name="convention"></param>
        /// <param name="bindableProperty"> </param>
        /// <returns></returns>
        public static bool SetBindingWithoutBindingOrValueOverwrite(Type viewModelType, string path,
                                                                    PropertyInfo property, FrameworkElement element,
                                                                    ElementConvention convention,
                                                                    DependencyProperty bindableProperty)
        {
            if (bindableProperty == null || HasBinding(element, bindableProperty))
            {
                return(false);
            }

            if (element.GetValue(bindableProperty) != null)
            {
                return(false);
            }

            SetBinding(viewModelType, path, property, element, convention, bindableProperty);
            return(true);
        }
コード例 #3
0
 /// <summary>
 /// Adds an element convention.
 /// </summary>
 /// <param name="convention"></param>
 public static ElementConvention AddElementConvention(ElementConvention convention)
 {
     return(ElementConventions[convention.ElementType] = convention);
 }
コード例 #4
0
 private static bool <.ctor>b__0(Type viewModelType, string path, PropertyInfo property, FrameworkElement element, ElementConvention convention)
 {
     return ConventionManager.SetBindingWithoutBindingOverwrite(viewModelType, path, property, element, convention, convention.GetBindableProperty(element));
 }