/// <summary> /// Enumerate DependencyObject continuing to LogicalTree. /// </summary> /// <param name="start">Start DependencyObject.</param> /// <param name="direction">Run direction.</param> /// <returns>Enumerated DependencyObject.</returns> #else /// <summary> /// LogicalTreeに連なるDependencyObjectを列挙。 /// </summary> /// <param name="start">列挙を開始するDependencyObject。</param> /// <param name="direction">走査方向。</param> /// <returns>列挙されたDependencyObject。</returns> #endif public static IEnumerable<DependencyObject> LogicalTree(DependencyObject start, TreeRunDirection direction = TreeRunDirection.Descendants) { switch (direction) { case TreeRunDirection.Descendants: return GetLogicalTreDescendants(start); case TreeRunDirection.Ancestors: return GetLogicalTreeAncestor(start); default: throw new NotSupportedException("?"); } }
/// <summary> /// Enumerate DependencyObject continuing to LogicalTree. /// </summary> /// <param name="start">Start DependencyObject.</param> /// <param name="direction">Run direction.</param> /// <returns>Enumerated DependencyObject.</returns> #else /// <summary> /// LogicalTreeに連なるDependencyObjectを列挙。 /// </summary> /// <param name="start">列挙を開始するDependencyObject。</param> /// <param name="direction">走査方向。</param> /// <returns>列挙されたDependencyObject。</returns> #endif public static IEnumerable <DependencyObject> LogicalTree(DependencyObject start, TreeRunDirection direction = TreeRunDirection.Descendants) { switch (direction) { case TreeRunDirection.Descendants: return(GetLogicalTreDescendants(start)); case TreeRunDirection.Ancestors: return(GetLogicalTreeAncestor(start)); default: throw new NotSupportedException("?"); } }
/// <summary> /// Enumerate DependencyObject continuing to LogicalTree. /// </summary> /// <param name="start">Start DependencyObject.</param> /// <param name="direction">Run direction.</param> /// <returns>Enumerated DependencyObject.</returns> #else /// <summary> /// LogicalTreeに連なるDependencyObjectを列挙。 /// </summary> /// <param name="start">列挙を開始するDependencyObject。</param> /// <param name="direction">走査方向。</param> /// <returns>列挙されたDependencyObject。</returns> #endif public static IWPFDependencyObjectCollection<DependencyObject> LogicalTree(this IAppVarOwner start, TreeRunDirection direction = TreeRunDirection.Descendants) { var app = (WindowsAppFriend)start.AppVar.App; return TreeUtility.LogicalTree(start.AppVar, direction); }
/// <summary> /// Enumerate DependencyObject continuing to LogicalTree. /// </summary> /// <param name="start">Start DependencyObject.</param> /// <param name="direction">Run direction.</param> /// <returns>Enumerated DependencyObject.</returns> #else /// <summary> /// LogicalTreeに連なるDependencyObjectを列挙。 /// </summary> /// <param name="start">列挙を開始するDependencyObject。</param> /// <param name="direction">走査方向。</param> /// <returns>列挙されたDependencyObject。</returns> #endif public static IWPFDependencyObjectCollection <DependencyObject> LogicalTree(AppVar start, TreeRunDirection direction = TreeRunDirection.Descendants) { var app = (WindowsAppFriend)start.App; WPFStandardControls_3.Injection(app); return(new WPFDependencyObjectCollection <DependencyObject>(app[typeof(TreeUtilityInTarget), "LogicalTree"](start, direction))); }
/// <summary> /// Enumerate DependencyObject continuing to LogicalTree. /// </summary> /// <param name="start">Start DependencyObject.</param> /// <param name="direction">Run direction.</param> /// <returns>Enumerated DependencyObject.</returns> #else /// <summary> /// LogicalTreeに連なるDependencyObjectを列挙。 /// </summary> /// <param name="start">列挙を開始するDependencyObject。</param> /// <param name="direction">走査方向。</param> /// <returns>列挙されたDependencyObject。</returns> #endif public static IEnumerable<DependencyObject> LogicalTree(this DependencyObject start, TreeRunDirection direction = TreeRunDirection.Descendants) { return TreeUtilityInTarget.LogicalTree(start, direction); }
/// <summary> /// Enumerate DependencyObject continuing to LogicalTree. /// </summary> /// <param name="start">Start DependencyObject.</param> /// <param name="direction">Run direction.</param> /// <returns>Enumerated DependencyObject.</returns> #else /// <summary> /// LogicalTreeに連なるDependencyObjectを列挙。 /// </summary> /// <param name="start">列挙を開始するDependencyObject。</param> /// <param name="direction">走査方向。</param> /// <returns>列挙されたDependencyObject。</returns> #endif public static IWPFDependencyObjectCollection<DependencyObject> LogicalTree(AppVar start, TreeRunDirection direction = TreeRunDirection.Descendants) { var app = (WindowsAppFriend)start.App; WPFStandardControls_3.Injection(app); return new WPFDependencyObjectCollection<DependencyObject>(app[typeof(TreeUtilityInTarget), "LogicalTree"](start, direction)); }
/// <summary> /// Enumerate DependencyObject continuing to LogicalTree. /// </summary> /// <param name="start">Start DependencyObject.</param> /// <param name="direction">Run direction.</param> /// <returns>Enumerated DependencyObject.</returns> #else /// <summary> /// LogicalTreeに連なるDependencyObjectを列挙。 /// </summary> /// <param name="start">列挙を開始するDependencyObject。</param> /// <param name="direction">走査方向。</param> /// <returns>列挙されたDependencyObject。</returns> #endif public static IWPFDependencyObjectCollection <DependencyObject> LogicalTree(this IAppVarOwner start, TreeRunDirection direction = TreeRunDirection.Descendants) { var app = (WindowsAppFriend)start.AppVar.App; return(TreeUtility.LogicalTree(start.AppVar, direction)); }
/// <summary> /// Enumerate DependencyObject continuing to LogicalTree. /// </summary> /// <param name="start">Start DependencyObject.</param> /// <param name="direction">Run direction.</param> /// <returns>Enumerated DependencyObject.</returns> #else /// <summary> /// LogicalTreeに連なるDependencyObjectを列挙。 /// </summary> /// <param name="start">列挙を開始するDependencyObject。</param> /// <param name="direction">走査方向。</param> /// <returns>列挙されたDependencyObject。</returns> #endif public static IEnumerable <DependencyObject> LogicalTree(this DependencyObject start, TreeRunDirection direction = TreeRunDirection.Descendants) { return(TreeUtilityInTarget.LogicalTree(start, direction)); }
/// <summary> /// Enumerate DependencyObject continuing to VisualTree. /// </summary> /// <param name="start">Start DependencyObject.</param> /// <param name="direction">Run direction.</param> /// <returns>Enumerated DependencyObject.</returns> #else /// <summary> /// VisualTreeに連なるDependencyObjectを列挙。 /// </summary> /// <param name="start">列挙を開始するDependencyObject。</param> /// <param name="direction">走査方向。</param> /// <returns>列挙されたDependencyObject。</returns> #endif public static IDependencyObjectCollection VisualTree(this IAppVarOwner start, TreeRunDirection directionSrc = TreeRunDirection.Descendants) => start.AppVar.VisualTree(directionSrc);
/// <summary> /// Enumerate DependencyObject continuing to VisualTree. /// </summary> /// <param name="start">Start DependencyObject.</param> /// <param name="direction">Run direction.</param> /// <returns>Enumerated DependencyObject.</returns> #else /// <summary> /// VisualTreeに連なるDependencyObjectを列挙。 /// </summary> /// <param name="start">列挙を開始するDependencyObject。</param> /// <param name="direction">走査方向。</param> /// <returns>列挙されたDependencyObject。</returns> #endif public static IDependencyObjectCollection VisualTree(this AppVar start, TreeRunDirection directionSrc = TreeRunDirection.Descendants) { var direction = start.App["Friendly.UWP.Core.TreeRunDirection." + directionSrc.ToString()](); return(new DependencyObjectCollection(start.App.Type("Friendly.UWP.Core.TreeUtility").VisualTree(start, direction))); }