示例#1
0
 internal static DependencyObject GetParent(DependencyObject dependencyObject, TreeEnumerationStrategy strategy)
 {
     return(strategy.GetAncestor(dependencyObject));
 }
 private MixedTreeEnumerationStrategy(TreeEnumerationStrategy firstStrategy, TreeEnumerationStrategy secondStrategy, bool disconnectedTree)
 {
     _firstStrategy    = firstStrategy;
     _secondStrategy   = secondStrategy;
     _disconnectedTree = disconnectedTree;
 }
示例#3
0
        internal static IEnumerable <DependencyObject> GetAncestors(DependencyObject depObj, bool self, TreeEnumerationStrategy strategy)
        {
            if (depObj == null)
            {
                yield break;
            }

            if (self)
            {
                yield return(depObj);
            }

            for (var parent = strategy.GetAncestor(depObj);
                 parent != null;
                 parent = strategy.GetAncestor(parent))
            {
                yield return(parent);
            }
        }