《深入浅出WPF》笔记一
1、项目模板
Visual Studio自动配置编译器参数,并准备好一套基本的源代码。
2、App.xaml/App.xaml.cs
声明程序的进程,并指定程序的主窗体。
3、Attribute和Property
Attribute:特征,属于编程语言语法层面,是为了区分同类的不同语法元素。
Property:属性,属于面向对象理论范畴,指的是类中用来表示事物状态的成员。
Attribute只是用来影响类在程序中的用法,Property则对应抽象对象本身的性状。
使用能够进行面向对象编程的语言,只是把Attribute和Property做了映射,针对标签叫Attribute,针对对象则叫Property。
XAML标签中的Attribute和Property并不完全对应。
4、xmlns=XML-Namespace
5、x映射的Namespace,对应XAML语言解析处理相关的程序集
6、x:Class的作用是声明XAML解析器将包含它的标签解析成C#类后产生的类名。
7、使用标签的Attribute为对象属性赋值
(1)Attitude和Property之间的映射机制----TypeConverter/TypeConverterAttribute
(2)使用Property Element,以元素的形式表达一个实例的属性
8、标记扩展
举例:Binding
只有MarkupExtension的派生类可以使用标记扩展语法来创建对象
9、代码后置
.Net支持partial类并能将解析XAML所生成的类与x:Class所指定的类进行合并
10、XAML注释不能对Attribute进行注释,也不能嵌套
11、x:Name为对象声明引用变量,并为该对象的Name属性赋值。x:Name的功能涵盖了Name特征的功能,推荐全部使用x:Name。
12、x:Key为资源贴上用于检索的索引
13、x:Shared=false,则得到的资源为对象的副本,否则为同一对象,默认情况为同一对象。
14、x:Null、x:Static、x:Type、x:Code、x:XData
15、WPF中是数据驱动UI,数据是核心,UI从属于数据并表达数据。
16、Control是数据和行为的载体,没有固定的形象。
17、Visual Tree比Logical Tree更具体和更复杂。
18、控件通过自己的内容属性(Content、Child、Items、Children)引用着作为其内容的对象。XAML标签的内容区域专门映射了控件的内容属性。
19、Items Control能够使用对应的Item Container自动包装数据。
20、ListBox
ItemSource、DisplayMemberPath、SelectedValuePath
21、如果把两个元素放在Grid的同一个单元格内,则后写的元素将覆盖在先写的元素之上,如果想显示被盖住的元素,则可以把后写元素的Visibility属性设置为Hidden或Collapsed,也可以将Opacity属性设置为0.
22、StackPanel
Orientation、HorizontalAlignment、VerticalAlignment
23、Canvas
Canvas.Left Canvas.Top
24、DockPanel
DockPanel.Dock、DockPanel.LastChildFill
25、GridSplitter
ShowsPreview
26、WrapPanel
Orientation
《深入浅出WPF》笔记一的更多相关文章
- JavaScript高级程序设计笔记之面向对象
说起面向对象,大部分程序员首先会想到 类 .通过类可以创建许多具有共同属性以及方法的实例或者说对象.但是JavaScript并没有类的概念,而且在JavaScript中几乎一切皆对象,问题来了,Jav ...
- javascript高级程序设计--笔记01
概述 JavaScript的实现包含三个部分: 1 核心(ECMAScript) 提供核心语言功能 2 文档对象模型(DOM) 一套提供了访问以及操作网页内容的API 3 浏览器对象模型( ...
- javascript事件小结(事件处理程序方式)--javascript高级程序设计笔记
1.事件流:描述的是从页面中接收事件的顺序. 2.事件冒泡:IE的事件流叫做事件冒泡,即事件开始从具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到不具体的节点(文档). 3.事件捕获 ...
- JavaScript高级程序设计笔记(一)
---恢复内容开始--- 前三章为基础知识,为了方便以后查看,所以比较啰嗦.这里对函数的基本操作没有记录. 1.JavaScript的实现 虽然 JavaScript 和 ECMAScript 通常都 ...
- JavaScript高级程序设计笔记 事件冒泡和事件捕获
1.事件冒泡 要理解事件冒泡,就得先知道事件流.事件流描述的是从页面接收事件的顺序,比如如下的代码: <body> <div> click me! </div> & ...
- <javascript高级程序设计>笔记
1.要讲一个值转换成其对应的Boolean类型 ,可以调用转型函数Boolean(). var message=“hello world!”; var messageAsBoolean=Boolean ...
- javaScript高级程序设计笔记 2
Undefinde Null Boolean Number String 基本类型 Object 引用类型 只有引用类型才能动态的添加属性 赋值基本类型和引用类型也不相同,复制的基本类型的 ...
- javaScript高级程序设计笔记 1
核心 ECMAScript 文档对象模型 DOM 浏览器对象模型 BOM 延迟脚本 defer typeof操作符 判断字符类型 返回 undefined boolean s ...
- Javascript高级程序设计笔记 <第五章> 引用类型
一.object类型 创建object实例的方式有两种: //第一种使用new操作符跟构造函数 var person= new Object(); person.name="小王" ...
- Javascript高级程序设计笔记(很重要尤其是对象的设计模式与继承)
var obj = {'a':'a'}; var fun = function (){} console.log(typeof obj);//object console.log(typeof fun ...
随机推荐
- AngularJs $q 承诺与延迟
$q 一个帮助处理异步执行函数的服务.当他们做完处理时,使用它们的返回值(或异常). 受 Kris Kowa’s Q 的启发,这是一个实现promise/deferred对象的启用. $q的两种方式- ...
- Linux上性能异常定位以及性能监控
引言:大多数的服务都是跑在Linux上的,Linux现在也已经到了一个很广泛的应用,但是仍然会有很多问题出现,我们就来讨论下我们性能监控的指标,性能监控无非就是从I/O,内存,CPU,TCP连接数,网 ...
- ubuntu 重启 nginx 失败,* Restarting nginx nginx ...fail!
ubuntu 重启 nginx 失败,* Restarting nginx nginx ...fail! 执行 nginx 重启服务时,提示失败如下: $ sudo service ngi ...
- oc面向对象特性: 多态
多态:不同对象以自己的方式响应相同的消息的能力叫做多态. 多态的主要好处就是简化了编程接口.在类与类之间可以重复命名. 下面的例子是一个彩色打印机和黑白打印机这两种打印机,然后Person类中有一 ...
- 15款优秀移动APP产品原型设计工具
一新来小盆友问:“移动产品原型设计都用啥工具?” 答:“@#¥……&%*” 又问:“能详细说下各个工具吗?我比较一下” “……” 好吧,谁让我那么的爱分享而你又是小美女呢 ———————正文开 ...
- 英文论文中i.e.,e.g.,etc.,viz.的简要小结
英文论文中i.e.,e.g.,etc.,viz.的简要小结 看了一堆用法,全白扯,自己总结的最好记,最实用 i.e. =即.换句话说.也就是说."'In essence' or 'in ot ...
- Centos6.5安装和使用docker
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum install docke ...
- UITextView限制输入文字
一.设置UITextView的delegate为控制器 二.实现代理方法 #pragma mark - UITextViewDelegate - (BOOL)textView:(UITextView ...
- JVM 小结
1.jvm虚拟机的种类及特点 Sun Classic:解释和编译不能协调使用:使用基于句柄的对象查找. Exact VM:解释和编译能协调使用:采用准确式内存管理:可以知道内存中某个位置的数据是什么类 ...
- 部署Redis for Windows服务
一.环境 Redis Windows 版本:2.8.2104 二.植入Windows服务 > redis-server.exe --service-install redis.window ...