1
Posted 彭二狗的牵引绳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1相关的知识,希望对你有一定的参考价值。
在WPF中,控件的展示和行为是由三个不同的概念构成的,它们分别是可视化树(Visual Tree)、逻辑树(Logical Tree)和模板(Templates)。
-
逻辑树(Logical Tree):逻辑树描述了用户界面元素的逻辑关系,例如一个窗口包含一个按钮,一个按钮包含一个图像等。逻辑树通常反映了你在XAML中定义的元素结构。事件路由,如冒泡事件或者隧道事件,就是通过逻辑树来进行的。
-
可视化树(Visual Tree):可视化树是WPF中所有可见元素的集合。它包含了逻辑树中的所有元素,以及那些用于构造控件外观的额外元素。例如,一个按钮在逻辑树中可能只是一个元素,但在可视化树中,它可能由一组边框、背景、内容等元素组成。布局系统和绘图系统都是基于可视化树的。
-
模板(Templates):模板定义了一个控件的结构和外观。它是一种特殊的资源,可以被用来替换控件的默认外观。模板是可视化树的构造过程中的一部分,当模板被应用时,它会生成一组新的元素,这些元素会被添加到可视化树中。
每个控件都有自己的逻辑树和可视化树,而模板则决定了控件在可视化树中的表现。这三者之间的关系在WPF中非常重要,理解这些关系有助于你更好地理解和使用WPF。
Android Support Annotations :安卓注解快速上手
我们都知道,安卓资源文件都是int类型的ID来保存其引用,通过注解类型,可以让我们在写代码的时候,及时发现参数类型的错误,避免潜在的BUG,如下:
我们通过@LayoutRes指定了参数必须要是R.layout.xxx格式的数据,传数字IDE就会提示我们错误
通过gradle,把注解类型引入到项目中
compile ‘com.android.support:support-annotations:23.1.1‘
安卓原生给我们提供了一系列注解类,支持我们的开发
注解类所在包位置:安卓SDK路径extrasandroidm2repositorycomandroidsupportsupport-annotations
我们随便找个23.1.1文件夹,找到里面的support-annotations-23.1.1-sources.jar,通过JD-GUI查看
通过里面Res结尾的类,我们就可以限定安卓不同类型的资源ID了
里面其他类我们也可以看看,比如NonNull、Nullable、限定范围FloatRange的也很有意思,如下:
以上是关于1的主要内容,如果未能解决你的问题,请参考以下文章