鉴于对WPF所带来的华丽外观的吸引,也为了更好的学Silverlight,故先学WPF。
1、XAML 定义
XAML是一种相对简单、通用的声明式编程语言,它适合于构建和初始化.NET对象。(初次感觉它就是一种XML语言,只是有了自己的实现方式。使用起来有点像写web程序。)
2、XAML命名空间
XAML文件的根对象元素指定至少一个XML命名空间,用于验证自己和子元素。
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"></Window>
默认命名空间 xmlns,次要命名空间xmlns:X,CS文件x:Class。
3、类型转换器与标记扩展
类型转换器:和写.NET的Web页面差不多。
标记扩展:很有用的东西,用于扩展XAML的表达能力。特性值用一些规范好的字符串组成,并由“{}”括起来。如
其中Static是标记扩展类;SystemParameters.IconHeight和Self是定位参数,是被作为字符串参数传入扩展类的相应构造函数中的;Path和RelativeSource是命名参数,可以用来在已构造好的扩展对象上设置相应名字的属性。
4、对象元素的子元素
一个对象元素可以有3种类型的子元素:内容属性值,集合项,或者一个能够通过类型转换到它的父元素的值。
5、命名XAML元素
用Name关键字。
6、逻辑树与可视树
逻辑树很直观,有属性、事件、资源等的传递性。可视树基本上是逻辑树的扩展,是WPF架构的核心组成部分。
7、依赖属性
其实就是普通的.NET属性。
8、对多个提供程序的支持
5步流程:判断基础值 ---->计算(如果有表达式的话)---->应用动画---->限制(Coerce)---->验证
9、附加属性
是依赖属性的特殊形式。感觉也没什么特别的。就是某一元素默认是没有的基本属性可以用另外一种形式调用而已。
10、路由事件
与.NET事件很像。
总结:终归是.NET的一个支点,很多地方都是共通的,重点就是对XAML的理解。
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· 几个技巧,教你去除文章的 AI 味!
· 对象命名为何需要避免'-er'和'-or'后缀
· 关于普通程序员该如何参与AI学习的三个建议以及自己的实践
· AI与.NET技术实操系列(八):使用Catalyst进行自然语言处理
· .NET Core奇技淫巧之WinForm使用Python.NET并打包