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