Example #1
0
        private FrameworkElement findLogicalAncestor(ParameterDic pm, FrameworkElement sender)
        {
            switch (FindMethod)
            {
            case UIEventHub.FindMethodType.Name:
                string name = pm.ReplaceVariableInsideBracketed(FindParameterKey) ?? "";
                return(UITools.FindLogicalAncestor <FrameworkElement>(sender, ele => name.Equals(ele.Name)));

            case UIEventHub.FindMethodType.Type:
                string type = pm.ReplaceVariableInsideBracketed(FindParameterKey) ?? "";
                return(UITools.FindLogicalAncestor <FrameworkElement>(sender, ele => ele.GetType().Name.Equals(type, StringComparison.CurrentCultureIgnoreCase)));

            case UIEventHub.FindMethodType.Level:
                int level = pm.GetValue <int>(FindParameterKey, -1);
                if (level == -1)
                {
                    return(null);
                }
                FrameworkElement current = sender;
                for (int i = 0; i < level; i++)
                {
                    if (current != null)
                    {
                        current = LogicalTreeHelper.GetParent(current) as FrameworkElement;
                    }
                }
                return(current);

            default: throw new NotSupportedException(FindMethod.ToString());
            }
        }
Example #2
0
        public override string ToString()
        {
            var s = findBy == FindMethod.Transform
                ? transform ? transform.name : "None"
                : info;

            return($"Target{{{findBy.ToString().ToLower()}: {s}}}");
        }
Example #3
0
 public void ToXml(XmlWriter writer)
 {
     writer.WriteStartElement("Finder");
     writer.WriteAttributeString("FindMethod", FindMethod.ToString());
     writer.WriteAttributeString("FindName", FindName);
     writer.WriteAttributeString("FindValue", FindValue);
     writer.WriteAttributeString("Regex", Regex?"1":"0");
     writer.WriteEndElement();
 }
Example #4
0
        private FrameworkElement findLogicalChild(ParameterDic pm, FrameworkElement sender)
        {
            switch (FindMethod)
            {
            case UIEventHub.FindMethodType.Name:
                string name = pm.ReplaceVariableInsideBracketed(FindParameterKey) ?? "";
                return(UITools.FindLogicalChild <FrameworkElement>(sender, ele => name.Equals(ele.Name)));

            case UIEventHub.FindMethodType.Type:
                string type = pm.ReplaceVariableInsideBracketed(FindParameterKey) ?? "";
                return(UITools.FindLogicalChild <FrameworkElement>(sender, ele => ele.GetType().Name.Equals(type, StringComparison.CurrentCultureIgnoreCase)));

            default: throw new NotSupportedException(FindMethod.ToString());
            }
        }
Example #5
0
        public string ToAttribute()
        {
            string result;
            string finder    = FindMethod.ToString() != "Href" ? FindMethod.ToString() : "Url";
            string findvalue = FindValue.Replace("\"", "\\\"");

            if (string.IsNullOrEmpty(FindName))
            {
                result = "FindBy(" + finder + " = \"" + findvalue + "\")";
            }
            else
            {
                result = "FindBy(" + finder + " = \"" + FindName + "\", \"" + findvalue + "\")";
            }
            return(result);
        }
Example #6
0
        public override string ToString()
        {
            string result;
            string finder    = FindMethod.ToString() != "Href" ? FindMethod.ToString() : "Url";
            string findvalue = "";

            try
            {
                findvalue = FindValue != null?FindValue.Replace("\"", "\\\"") : "";
            }
            catch (Exception)
            {
            }
            if (string.IsNullOrEmpty(FindName))
            {
                result = "Find.By" + finder + "(\"" + findvalue + "\")";
            }
            else
            {
                result = "Find.By" + finder + "(\"" + FindName + "\", \"" + findvalue + "\")";
            }
            return(result);
        }