public static void PrintHerarchyDebugInfo <TDependencyObject, TStyle, TDependencyProperty>( this ITreeNodeProvider <TDependencyObject, TDependencyProperty> treeNodeProvider, IDependencyPropertyService <TDependencyObject, TStyle, TDependencyProperty> dependencyPropertyService, TDependencyObject styleResourceReferenceHolder, TDependencyObject startFrom, SelectorType type ) where TDependencyObject : class where TStyle : class where TDependencyProperty : class { Debug.WriteLine(""); Debug.WriteLine("------------------"); Debug.WriteLine("Print FrameworkElement hierarchy: " + type.ToString()); Debug.WriteLine("----------------"); Debug.WriteLine("----------------"); var s = startFrom ?? styleResourceReferenceHolder; Recursive(treeNodeProvider, dependencyPropertyService, s, 0, treeNodeProvider.GetParent(s, type), type); Debug.WriteLine(""); Debug.WriteLine("Print DomElement hierarchy: " + type.ToString()); Debug.WriteLine("----------------"); var sDom = treeNodeProvider.GetDomElement(s); RecursiveDom(treeNodeProvider, sDom, 0, type == SelectorType.VisualTree ? sDom.Parent : sDom.LogicalParent, type); Debug.WriteLine("----------------"); Debug.WriteLine("----------------"); }
protected override void DoEmit(XamlIlEmitContext context, IXamlIlEmitter codeGen) { var name = _type.ToString(); EmitCall(context, codeGen, m => m.Name == name && m.Parameters.Count == 1); }
protected override void DoEmit(XamlEmitContext <IXamlILEmitter, XamlILNodeEmitResult> context, IXamlILEmitter codeGen) { codeGen.Ldc_I4(_step); codeGen.Ldc_I4(_offset); EmitCall(context, codeGen, m => m.Name == _type.ToString() && m.Parameters.Count == 3); }
protected override void DoEmit(XamlIlEmitContext context, IXamlIlEmitter codeGen) { codeGen.Ldstr(String); var name = _type.ToString(); EmitCall(context, codeGen, m => m.Name == name && m.Parameters.Count == 2 && m.Parameters[1].FullName == "System.String"); }
public IEnumerable <IDomElement <TDependencyObject, TDependencyProperty> > GetDomElementChildren(IDomElement <TDependencyObject, TDependencyProperty> node, SelectorType type) { if (node == null) { throw new ArgumentNullException(nameof(node)); } if (node.Element == null) { throw new ArgumentNullException(nameof(node.Element)); } if (type == SelectorType.LogicalTree) { return(node.LogicalChildNodes); } else if (type == SelectorType.VisualTree) { return(node.ChildNodes); } throw new Exception("Invalid SelectorType " + type.ToString()); }
public override string ToString() { //This spits out a JSON string to display the structure of this node. string name_formatted = "\"name\":\"" + name + "\""; string display_name_formatted = "\"display_name\":\"" + display_name + "\""; string output = "{" + name_formatted + ", " + display_name_formatted; if (!isData) { output += ", \"type\":\"" + type.ToString() + "\""; List <string> childrenStrings = new List <string>(); foreach (SelectorNode child in children) { childrenStrings.Add(child.ToString()); } output += ", \"children\":[" + string.Join(", ", childrenStrings.ToArray()) + "]"; } output += "}"; return(output); }