3 namespace Tizen.NUI.Xaml
5 interface IXamlNodeVisitor
7 TreeVisitingMode VisitingMode { get; }
8 bool StopOnDataTemplate { get; }
9 bool VisitNodeOnDataTemplate { get; }
10 bool StopOnResourceDictionary { get; }
12 void Visit(ValueNode node, INode parentNode);
13 void Visit(MarkupNode node, INode parentNode);
14 void Visit(ElementNode node, INode parentNode);
15 void Visit(RootNode node, INode parentNode);
16 void Visit(ListNode node, INode parentNode);
17 bool SkipChildren(INode node, INode parentNode);
20 enum TreeVisitingMode {
25 class XamlNodeVisitor : IXamlNodeVisitor
27 readonly Action<INode, INode> action;
29 public XamlNodeVisitor(Action<INode, INode> action, TreeVisitingMode visitingMode = TreeVisitingMode.TopDown, bool stopOnDataTemplate = false, bool visitNodeOnDataTemplate = true)
32 VisitingMode = visitingMode;
33 StopOnDataTemplate = stopOnDataTemplate;
34 VisitNodeOnDataTemplate = visitNodeOnDataTemplate;
37 public TreeVisitingMode VisitingMode { get; }
38 public bool StopOnDataTemplate { get; }
39 public bool StopOnResourceDictionary { get; }
40 public bool VisitNodeOnDataTemplate { get; }
42 public void Visit(ValueNode node, INode parentNode) => action(node, parentNode);
43 public void Visit(MarkupNode node, INode parentNode) => action(node, parentNode);
44 public void Visit(ElementNode node, INode parentNode) => action(node, parentNode);
45 public void Visit(RootNode node, INode parentNode) => action(node, parentNode);
46 public void Visit(ListNode node, INode parentNode) => action(node, parentNode);
47 public bool SkipChildren(INode node, INode parentNode) => false;