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()); } }
public override string ToString() { var s = findBy == FindMethod.Transform ? transform ? transform.name : "None" : info; return($"Target{{{findBy.ToString().ToLower()}: {s}}}"); }
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(); }
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()); } }
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); }
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); }