Visual Layer Overview(3)--VisualTreeHelper Class

翻译 2006年06月10日 23:53:00
        
          VisualTreeHelper class 是一个 static helper class ,它提供了在运行环境管理Visual Visual3D objects 的功能.
 
Hit Testing
 
VisualTreeHelper class 提供了可视化对象之间的Hit Testing的方法.
 
 
Enumerating the Visual Tree
VisualTreeHelper class 提供了枚举visual tree的成员的功能。得到父节点。调用GetParent 方法. 取得孩子节点, 或者可视对象的直接后继,调用 GetChild 方法.
visual tree可以使用下面的算法,很容易的遍历
C#
// Enumerate all the descendants of the visual object.
static public void EnumVisual(Visual myVisual)
{
    for (int i = 0; i < VisualTreeHelper.GetChildrenCount(myVisual); i++)
    {
        // Retrieve child visual at specified index value.
        Visual childVisual = VisualTreeHelper.GetChild(myVisual, i);
 
        // Do processing of the child visual object.
 
        // Enumerate children of the child visual object.
        EnumVisual(childVisual);
    }
}
 
VisualTreeHelper class 提供了返回可视对象包围矩形的方法。可以调用GetContentBounds返回可视对象包围矩形. 还可以返回visual object 的所有子孙的包围矩形,需要调用GetContentBounds. 下面的代码显示了怎么计算一个可视对象和它的所有子孙的包围矩形。
C#
// Return the bounding rectangle of the parent visual object.
Rect rectBounds = VisualTreeHelper.GetContentBounds(parentVisual);
 
// Expand the rectangle to include the bounding rectangle
// of the all of the visual object's descendants.
rectBounds.Union(VisualTreeHelper.GetDescendantBounds(parentVisual))

Visual Layer Overview(1)--Role of the Visual Object

     Visual object是Windows Presentation Foundation的核心对象,它的主要作用就是对渲染的支持。UI controls,例如:Button和TextBox...
  • Net_Ghost
  • Net_Ghost
  • 2006年06月09日 16:51
  • 1381

Visual Layer Overview(2)--Visual Tree

visual tree包含一个应用UI中所有的可视化的元素(visual elements)。既然一个可视化元素中包含永久化的描画信息,可以认为visual tree是一个包含组成显示设备上输出的所有...
  • Net_Ghost
  • Net_Ghost
  • 2006年06月09日 17:36
  • 1192

Visual Layer Overview(5)Hit Testing in the Visual Layer

Hit Testing in the Visual Layer 这部分介绍了Windows Presentation Foundation中visual layer.使用VisualTreeHelpe...
  • Net_Ghost
  • Net_Ghost
  • 2006年06月13日 00:49
  • 1424

cocos2dx3.2学习笔记之Scene、Layer、Sprite

Scene: 在电影里面有不同的场地和舞台,而在cocos2d-x中我们称为Scene(场景类)。场景类可以实现流程控制,通过导演类切换游戏中不同的场景。同时场景类是层的父级容器,包含了所有的游戏元...
  • u013435551
  • u013435551
  • 2014年08月17日 08:25
  • 2172

WPF利用VisualTreeHelper遍历寻找对象的子级对象或者父级对象

简介  本文将完整叙述我利用VisualTreeHelper实现题述功能的全部过程,想直接看函数实现的朋友可以跳到函数实现部分。   或者直接在GitHub上下载源码。      在WPF中我们...
  • honantic
  • honantic
  • 2015年05月27日 13:03
  • 2911

Visual Layer Overview(6)Using DrawingVisual Objects

Using DrawingVisual Objects这部分提供了怎样使用DrawingVisual对象的概要说明1.        DrawingVisual ObjectDrawingVisual...
  • Net_Ghost
  • Net_Ghost
  • 2006年06月14日 21:43
  • 1625

WPF 逻辑树 LogicalTreeHelper、视图树 VisualTreeHelper、控件模板 Template

效果图:
  • tiz198183
  • tiz198183
  • 2016年11月08日 21:41
  • 1115

VisualTreeHelper遍历

首先要介绍的Hleper方法是GetParentObject方法,获取父控件方法。该方法将根据当前控件,遍历查找其父控件是否存在。参数1是表示当前子控件名,参数2是要查询父控件名;使用VisualTr...
  • sl521100
  • sl521100
  • 2010年09月19日 11:12
  • 3170

Visual Layer Overview(4)--Other Visual Object Classes

      Other Visual Object Classes 在Windows Presentation Foundation中还有其他三种visual objects:DrawingVisua...
  • Net_Ghost
  • Net_Ghost
  • 2006年06月11日 00:06
  • 1047

A Brief Overview of Deep Learning

A Brief Overview of Deep Learning 【 注:本文是Ilya Sutskever受邀给Yisong Yue博客写的文章。原文在Yisong Yue博客上:http...
  • hua_007
  • hua_007
  • 2015年01月15日 14:16
  • 1508
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Visual Layer Overview(3)--VisualTreeHelper Class
举报原因:
原因补充:

(最多只允许输入30个字)