zoukankan      html  css  js  c++  java
  • WPF常用代码:Visual Logical Tree

    1. 自定义路由事件
      // Register the routed event
      public static readonly RoutedEvent SelectedEvent = 
          EventManager.RegisterRoutedEvent( "Selected", RoutingStrategy.Bubble, 
          typeof(RoutedEventHandler), typeof(MyCustomControl));
       
      // .NET wrapper
      public event RoutedEventHandler Selected
      {
          add { AddHandler(SelectedEvent, value); } 
          remove { RemoveHandler(SelectedEvent, value); }
      }
      
      // Raise the routed event "selected"
      RaiseEvent(new RoutedEventArgs(MyCustomControl.SelectedEvent));
    2. 查找特定的Parent元素或Child元素
       // walk up the visual tree to find object of type T, starting from initial object
              public static T FindUpVisualTree<T>(DependencyObject initial) where T : DependencyObject
              {
                  DependencyObject current = initial;
      
                  while (current != null && current.GetType() != typeof(T))
                  {
                      current = VisualTreeHelper.GetParent(current);
                  }
                  return current as T;
              }
      
              public static T FindDownVisualTree<T>(Visual parent) where T : Visual
              {
                  T child = default(T);
                  int numVisuals = VisualTreeHelper.GetChildrenCount(parent);
                  for (int i = 0; i < numVisuals; i++)
                  {
                      Visual v = (Visual)VisualTreeHelper.GetChild(parent, i);
                      child = v as T;
                      if (child == null)
                      {
                          child = FindDownVisualTree<T>(v);
                      }
                      if (child != null)
                      {
                          break;
                      }
                  }
                  return child;
              }
  • 相关阅读:
    Codeforces 1000C Covered Points Count
    Array类型
    Object对象
    变量、作用域与内存
    window.onload 方法脚本
    页面的性能优化
    node属性
    JavaScript图片
    DOM节点
    canvas象棋 画图
  • 原文地址:https://www.cnblogs.com/maigc249/p/5130893.html
Copyright © 2011-2022 走看看