逻辑树与视觉树属于WPF的基本概念,学过WPF或者Silverlight的朋友一定会对其有所耳闻,这篇文章将来探讨逻辑树与视觉树的特质以及两者的区别

  1. WPF Inspector工具介绍
    WPF Inspector是一个新的WPF辅助工具,我们可以通过这个工具来观察WPF程序生成的逻辑树与视觉树

  2. 观察逻辑树与视觉树

左侧为视觉树,右侧为逻辑树
1、WPF启动程序的根元素均为Application。2、逻辑树与XAML的布局结构是相同的。3、视觉树是根据控件的模板来呈现的,我们很难猜测视觉树的结构,因为控件还可以自定义模板,我们可以看到逻辑树上的元素一个视觉树局部元素的一个组合,比如Button,由三个元素组成,ButtonChrome,ContentPresenter,TextBlock。
3. 与ASP.NET服务器控件比较(控件为逻辑树,HTML为视觉树)
如果你没有接触过ASP.NET的话,可以略过这部分。如果你理解ASP.NET控件的话,那么理解起来会更加容易.
ASP.NET的服务器控件是一个逻辑树,一个服务器控件由若干的HTML组成,但我们知道我们是无法在服务器端知道HTML代码的,即ASP.NET没有视觉树的概念.这个应该比较容易理解吧
4. 与JavaScript客户端控件比较(一个根逻辑树,HTML为视觉树)
如果你用过jQuery等前端js库的话,比如Tab的运用,一句简单的话就可以创建一堆HTML出来,Tab本身则是一个控件,但其本身没有逻辑树的概念 。
以上两者是web服务器端与客户端的比较,由于两者状态无法共享,在交互方面没有客户端来的方便.所以WPF的逻辑树与视觉树概念并不是新的概念。
5. 组装控件
为WPF创建一个新控件是非常简单的,一般有以下两种方式:

注意:不要将模板内的控件纳入逻辑树范围内,否则你会很失望地无法找到模板内部的元素.
6. 小结
本篇简单的介绍了WPF视觉树与逻辑树的概念,大家可以通过与其他技术比较的方式来理解,先有一个
感性的认识。

视觉树和逻辑树的概念相关推荐

  1. 理解WPF中的视觉树和逻辑树

    理解WPF中的视觉树和逻辑树  Understanding the Visual Tree and Logical Tree in WPF 这篇文章讨论WPF中视觉树和逻辑树的细微差别.同时提供了一个 ...

  2. WPF 视觉树和逻辑树区别,以及其子节点的遍历过程。

    一.定义上区分 1.添加元素的分类,称为逻辑树.解析:用window或者是application向下定位到组成界面的基本控件元素,就是逻辑树. 2.视觉树是逻辑树的拓展版本.解析:把逻辑树上的控件元素 ...

  3. WPF 可视化树和逻辑树

    自开始接触WPF开始一直对可视化树和逻辑树没有清晰地认识和区别,下面进行一次总结.学海无涯,开始吧!!! 背景 目前SDK文档中关于视觉树和逻辑树的介绍还不是很完全. 事实证明WPF中的元素树相当复杂 ...

  4. WPF遍历视觉树与逻辑树

    xaml代码: <Window x:Class="WpfApplication1.MainWindow"xmlns="http://schemas.microsof ...

  5. 逻辑树与视觉树基本概念

    一. 摘要 逻辑树与视觉树属于WPF的基本概念,学过WPF或者Silverlight的朋友一定会对其有所耳闻,这篇文章 将来探讨逻辑树与视觉树的特质以及两者的区别 二.本文提纲 WPF Inspect ...

  6. WPF,Silverlight与XAML读书笔记第六 - WPF新概念之一逻辑树与可视树

    说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. WPF中,XAML来呈现用户界面,其层次化的 ...

  7. WPF-10 逻辑树和可视化树

    我们在WPF-03 资源之Resources结尾中介绍逻辑树和可视化树的基本概念,我们这节来介绍这两棵树 逻辑树(Logical Tree) 逻辑树是由每个控件的节点组成,本质上就是XAML文件中的U ...

  8. WPF 逻辑树和可视化树

    逻辑树: 逻辑树是在 WPF 框架级别定义,它主要是为了描述一个"界面对象"的构建过程,相当于对象族谱:抽象的名字和相对的位置关系.它是由 WPF 基元素是 FrameworkEl ...

  9. 数据分析思维(五)|逻辑树思维

    逻辑树思维 1.概念 在很多数据分析场景中我们需要梳理分析的逻辑,需要进行指标从大到小的拆分,这时候我们可以顺着影响分析结果的因素进行层层溯源,从而抓住问题的核心.为了有更清晰的逻辑结构,常常采用逻辑 ...

最新文章

  1. 决策树算法的原理(接地气版)
  2. Quartz.Net—配置化
  3. wpf异形按钮,定制异型按钮在WPF
  4. android本地存储SharedPreferences
  5. Verdi-ug --- nschema Tutorial
  6. K8S集群Master高可用实践
  7. Chromium CEF 2623 -- 支持 xp 的最后一个版本源码下载和编译步骤
  8. RedHat7修改主机名hostname
  9. 微软新闻推荐:深度学习与 NLP 的融合, 让 Windows 11“新闻与兴趣”知你所需...
  10. 初识B/S结构编程技术
  11. 额外参数_Redis的复制参数学习笔记
  12. javascript函数防抖Debounce
  13. jetbrains mono字体安装方法(LInux Windows MacOS系统)
  14. 电驴搜索服务器正在连接,电驴连接不上服务器怎么解决?
  15. python下载加密m3u8_基于Python3实现的m3u8批量下载器 解密合并多线程 (开车新姿势~)...
  16. 树莓派开发笔记(十):Qt读取ADC模拟量电压(ADS1115读取电压模拟量)
  17. gcc 中-O1 -O2 -O3 优化的原理
  18. box2d弹球 cocos2d-x重力感应(cocos2d-x2.1)
  19. 关于STAR法则简历
  20. 浅谈软件测试测试策略几点总结内容

热门文章

  1. Computer:IPFS(星际文件系统)的简介、安装、使用方法之详细攻略
  2. 为Torch创建hdf5训练文件
  3. 三星gtn8010安卓7_三星平板N8000刷机升级安卓版本到7.1过程记录
  4. Kafka 消息传递语义 Exactly Once(精准一次) 相关知识
  5. Android Ril库总结
  6. Fluent算例1:交叉管内流动
  7. matlab潮流计算求节点自导纳,大神们,求个电力系统潮流计算的matlab程序。
  8. java简单通讯录实现
  9. 【快应用】小程序转快应用如何退出整个快应用
  10. cloudreve win10 解析域名_利用Cloudreve搭建自有网盘系统