整理自某下载的PPT《XAML基础教程》
1 XML与XAML
George
John
Reminder
Don't forget the meeting!
示例:

2 C#与XMAL
C#与XAML呈现效果方式不同:
3 为什么要学习XAML
1.XAML语言应用于多个开发领域,Web应用,移动应用,桌面应用等
2.对于具有Silverlight,WPF, Windows Phone以及Windows 8开发经验的程序员,可以将开发技能再利用,加快学习速度,提高开发效率;
3.语言性能强大,学习曲线平缓, 有强大的开发工具支持,例如,使用微软Expression Studio或者VisualStudio开发工具,可快速便捷的创建XAML相关应用;
4.随着Windows8的发布, XAML是Windows 8 Style应用主要开发语言之一,从Windows 8开发路线上可以看出,XAML将与C#,VB.NE,C++配合开发Windows8 Style应用。
4 XAML的作用
5 属性设置
XAML
元素特征进行描述的
方法
XAML
中重复设置多次
设置
几种方式
使用属性
元素
语法/
使用内容
元素
语法/
使用集合
语法
5.1 属性语法
,
格式
如下
:
<objectNamepropertyName=“propertyValue”/>
或者
<objectNamepropertyName=“propertyValue”>
objectName>
objectName是要实例化的对象,propertyName是需要设置的属性名称,propertyValue是属性的值
或者
5.2 属性元素语法
<object.property>
元素属性值–>
object.property>
Property是object元素的属性,<object.property>…
object.property>之间包含的是对象属性的值
5.3 内容元素语法
XAML
元素中的第一个标记值来设置属性
大量的格式化文本,使用内容元素语法更加灵活
<TextBlock Width=”200″TextWrapping=”Wrap>Windows 8
TextBlock>
5.4 集合语法
的集合
,才使用集合语法进行设置属性
Add
方法来增加更多的集合元素
下面代码实际省略了省略GradientStopCollection,隐式的属性设置方法
附加属性
AttachedPropertyProvider.PropertyName
AttachedPropertyProvider为附加属性的提供者,PropertyName为附加属性的名称
Rectangle元素设置了Canvas.Left和Canvas.Top属性,使用Canvas进行布局时,包含在<Canvas>…
Canvas>之间的元素就会产生相对于Canvas对象的附加属性Canvas.Left和Canvas.Top属性
DependencyProperties
属性
和
CLR
属性类似
,提供
一个实例级私有字段的访问封装,通过
GetValue
和
SetValue
访问器实现属性的读写
操作
属性值依赖于一个或者多个数据源,提供这些数据源的方式也可以
不同
依赖属性最重要的一个特点是属性值依赖于一个或者多个数据源,提供这些数据源的方式也可以不同,例如,通过数据绑定提供数据源,通过动画,模板资源,样式等方式提供数据源等,在不同的方式数据源下,依赖属性可以实时对属性值进行改变。
定义简单用户控件样式,样式代码中定义了控件的内容文本颜色,字体尺寸
Button
应用定义好的资源样式
ButtonStyle

按钮控件中定义文本颜色,字体尺寸,同时也调用静态资源样式
ButtonStyle
根据之前讲述的,依赖属性执行的优先级,按钮控件的本地赋值优先于控件样式
因此上述代码中,忽略了
ButtonStyle
样式,应用本地依赖属性值生成不同结果
6 事件(Event)
基础语法:<ObjectNameEventName=“EventHandle”>
XAML:
<Button Click=”Button_Click_1″/>
C#:
private void Button_Click_1(object sender,RoutedEventArgs e)
{
}
事件在
Xaml
中基础语法如下:
<
元素对象 事件名称
=”
事件处理”
/>
在实际项目开发中,
VisualStudio
的
Xaml
语法解析器为开发人员提供了智能感知功能,通过该功能可以在
Xaml
中方便的调用指定事件,而
Visual Studio
将为对应事件自动生成事件处理函数后台代码。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223549.html原文链接:https://javaforall.net
