Пример #1
0
        protected override object ProvideExpression(IServiceProvider provider, BindableObject obj, PropertyInfo property)
        {
            if (provider == null)
            {
                throw new ArgumentNullException(nameof(provider));
            }
            if (property == null)
            {
                throw new ArgumentNullException(nameof(property));
            }

            var expression = new GetExpression {
                Source       = Source,
                Path         = Path,
                Format       = Format != null && Format.IndexOf('{') < 0 ? "{0:" + Format + "}" : Format,
                Converter    = Converter,
                Culture      = Culture,
                Parameter    = Parameter,
                TargetObject = obj,
                TargetType   = property.PropertyType,
            };

            obj?.Bind(property, expression);
            return(expression.GetValue());
        }