Пример #1
0
 public static T FindVisualChild <T>(this System.Windows.DependencyObject obj) where T : System.Windows.DependencyObject
 {
     for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
     {
         System.Windows.DependencyObject child = VisualTreeHelper.GetChild(obj, i);
         if (child != null && child is T)
         {
             return((T)((object)child));
         }
         T t = child.FindVisualChild <T>();
         if (t != null)
         {
             return(t);
         }
     }
     return(default(T));
 }
Пример #2
0
 private static ScrollViewer GeScrollViewer(DependencyObject obj)
 {
     if (obj == null) return null;
     var viewer = obj as ScrollViewer ?? obj.FindVisualChild<ScrollViewer>();
     return viewer;
 }
Пример #3
0
 private static bool IsCaretAtFront(DependencyObject d) {
     var t = d.FindVisualChild<TextBox>();
     return t?.SelectionStart == 0 && t.SelectionLength == 0;
 }