Пример #1
0
        /// <summary>
        /// Constructs the attribute for x:Name element and  target mapping.
        /// </summary>
        /// <param name="aliasName">Alias x:Name string. If it contains '_', it will be split on XAML x:Name element targets as well.</param>
        /// <param name="commaSeparatedTargets">XAML x:Name element targets separated by comma.</param>
        public ViewXNameSourceTargetMappingAttribute(string aliasName, string commaSeparatedTargets = "")
        {
            var aliasname = aliasName.TrimStart().TrimEnd();

            if (!string.IsNullOrEmpty(aliasname))
            {
                _alias = aliasname;
                if (!string.IsNullOrEmpty(_alias))
                {
                    var targets = commaSeparatedTargets.Split(',');
                    foreach (var item in targets)
                    {
                        var name = item.TrimStart().TrimEnd();
                        if (!string.IsNullOrEmpty(name))
                        {
                            if (BindHelper.ValidateElementName(name))
                            {
                                _targets.Add(name);
                            }
                        }
                    }
                }
            }
#if DEBUG
            if (String.IsNullOrEmpty(_alias) || _targets.Count == 0)
            {
                throw new InvalidOperationException("aliasName or commaSeparatedTargets was not defined.");
            }
#endif
        }
Пример #2
0
        /// <summary>
        /// Constructs the attribute for View model mapping.
        /// </summary>
        /// <param name="commaSeparatedAliases">The comma separated aliases of the candidate type name.</param>
        public ViewModelClassAliasAttribute(string commaSeparatedAliases)
        {
            var targets = commaSeparatedAliases.Split(',');

            foreach (var item in targets)
            {
                var name = item.TrimStart().TrimEnd();
                if (!string.IsNullOrEmpty(name))
                {
                    if (BindHelper.ValidateElementName(name))
                    {
                        _aliases.Add(name);
                    }
                }
            }
#if DEBUG
            if (_aliases.Count == 0)
            {
                throw new InvalidOperationException("Names was not defined.");
            }
#endif
        }