WPF可视化方法具体讲解

WPF可视化的操作对于初学者来说可能还不太了解其中的具体操作方法。我们在这里就为大家详细介绍了相关方法,希望对大家有所帮助。#t#

WPF可视化实现代码示例:

  1. sing System;  
  2. using System.Windows;  
  3. using System.Windows.Controls;  
  4. using System.Windows.Data;  
  5. using System.Windows.Documents;  
  6. using System.Windows.Media;  
  7. using System.Windows.Shapes;  
  8. using System.Windows.Controls.Primitives;  
  9. using System.Collections.ObjectModel;  
  10. using System.Collections.Generic;  
  11. namespace MyLib.Extensions {  
  12. /// <summary> 
  13. /// Description of WpfExt.  
  14. /// </summary> 
  15. public static class WpfExt {  
  16. public static List<childItem> 
    FindVisualChildren
    <childItem>
    (this DependencyObject obj)  
  17. where childItem : DependencyObject {  
  18. List<childItem> children = 
    new List<childItem>();  
  19. for (int i = 0; i < Visual
    TreeHelper.GetChildrenCount
    (obj); i++) {  
  20. DependencyObject child = 
    VisualTreeHelper.GetChild(obj, i);  
  21. if (child != null && child is childItem) {  
  22. children.Add(child as childItem);  
  23. } else {  
  24. childItem childOfChild = 
    FindVisualChild<childItem>(child);  
  25. if (childOfChild != null) {  
  26. children.Add(childOfChild as childItem);  
  27. }  
  28. }  
  29. }  
  30. return children;  
  31. }  
  32. public static childItem FindVisualChild
    <childItem>(this DependencyObject obj)  
  33. where childItem : DependencyObject {  
  34. for (int i = 0; i < VisualTreeHelper.
    GetChildrenCount
    (obj); i++) {  
  35. DependencyObject child = 
    VisualTreeHelper.GetChild(obj, i);  
  36. if (child != null && child is childItem)  
  37. return (childItem)child;  
  38. else {  
  39. childItem childOfChild = 
    FindVisualChild<childItem>(child);  
  40. if (childOfChild != null)  
  41. return childOfChild;  
  42. }  
  43. }  
  44. return null;  
  45. }  
  46. }  

WPF可视化相关实现方法就为大家介绍到这里。

THE END