コード例 #1
0
        private static bool TryCreatePropertyDependencyBasedBinding(object target, string targetName,
                                                                    out IMvxTargetBinding binding)
        {
            if (target == null)
            {
                binding = null;
                return(false);
            }

            if (string.IsNullOrEmpty(targetName))
            {
                MvxBindingLog.Error(
                    "Empty binding target passed to MvxWindowsTargetBindingFactoryRegistry");
                binding = null;
                return(false);
            }

            var dependencyProperty = target.GetType().FindDependencyProperty(targetName);

            if (dependencyProperty == null)
            {
                binding = null;
                return(false);
            }

            var actualProperty     = target.GetType().FindActualProperty(targetName);
            var actualPropertyType = actualProperty?.PropertyType ?? typeof(object);

            binding = new MvxDependencyPropertyTargetBinding(target, targetName, dependencyProperty, actualPropertyType);
            return(true);
        }
コード例 #2
0
        private static bool TryCreatePropertyDependencyBasedBinding(object target, string targetName,
                                                             out IMvxTargetBinding binding)
        {
            if (target == null)
            {
                binding = null;
                return false;
            }

            if (string.IsNullOrEmpty(targetName))
            {
                MvxBindingTrace.Trace(MvxTraceLevel.Error,
                                      "Empty binding target passed to MvxWindowsTargetBindingFactoryRegistry");
                binding = null;
                return false;
            }

            var dependencyProperty = target.GetType().FindDependencyProperty(targetName);
            if (dependencyProperty == null)
            {
                binding = null;
                return false;
            }

            var actualProperty = target.GetType().FindActualProperty(targetName);
            var actualPropertyType = actualProperty?.PropertyType ?? typeof(object);

            binding = new MvxDependencyPropertyTargetBinding(target, targetName, dependencyProperty, actualPropertyType);
            return true;
        }