本文整理汇总了C#中TreeScope.HasFlag方法的典型用法代码示例。如果您正苦于以下问题:C# TreeScope.HasFlag方法的具体用法?C# TreeScope.HasFlag怎么用?C# TreeScope.HasFlag使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TreeScope
的用法示例。
在下文中一共展示了TreeScope.HasFlag方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Find
public IEnumerable<WiniumElement> Find(TreeScope scope, Predicate<FrameworkElement> predicate)
{
if (!Enum.IsDefined(typeof(TreeScope), scope))
{
throw new ArgumentException("One of TreeScope.Children or TreeScope.Descendants should be set");
}
// yield main visual tree
if (predicate(this.VisualRoot.Element))
{
yield return this.VisualRoot;
}
if (scope.HasFlag(TreeScope.Descendants))
{
foreach (var element in this.VisualRoot.Find(scope, predicate))
{
yield return element;
}
}
// yield popups (AppBar, etc.)
foreach (var popupChild in this.OpenPopups)
{
if (predicate(popupChild.Element))
{
yield return popupChild;
}
if (scope.HasFlag(TreeScope.Descendants))
{
foreach (var popupElement in popupChild.Find(scope, predicate))
{
yield return popupElement;
}
}
}
}
示例2: Find
public IEnumerable<WiniumElement> Find(TreeScope scope, Predicate<FrameworkElement> predicate)
{
if (!Enum.IsDefined(typeof(TreeScope), scope))
{
throw new ArgumentException("One of TreeScope.Children or TreeScope.Descendants should be set");
}
foreach (var descendant in IterDescendants(this.Element, !scope.HasFlag(TreeScope.Descendants)))
{
if (predicate(descendant))
{
yield return new WiniumElement(descendant);
}
}
}