Silverlight系统教学方法-数据绑控,核心设置开发,界面管.....

[复制链接]
admin 发表于 2019-2-2 21:47:16 | 显示全部楼层 |阅读模式
1.1. Silverlight简介
1.1 Silverlight是什么
Silverlight是一个客户端运行时,是微软推出的一种跨浏览器、跨平台的RIA技术

核心表现层框架:
1.        输入:处理来自硬件设备的输入(如鼠标、键盘、绘图仪、扫描仪、手写笔等)
2.        界面呈现:呈现矢量图、位图、动画和文本
3.        自定义控件:支持用户使用样式和模板自定义控件
4.        多媒体:播放和管理多种格式的音频和视频
5.        布局元素:动态定位界面UI
6.        数据绑定:将界面UI与后台数据进行关联起来

Silverlight .NET Framework :
CLR:CoreCLR是Silverlight的公共语言运行时,负责内存管理、垃圾回收、异常处理和类型检查
DLR:支持动态编译和执行脚本语言
基础类库:提供了基本编程类库
WPF控件:内置一组可直接使用的控件,包括按钮、文本框、网格、日历等
数据和通信:支持Linq,简化了使用不同数据源的过程,支持多种网络通信方式。
DRM:对多媒体资产启用数字版权管理

1.2 Sliverlight的优势
1.        跨浏览器,跨平台的支持
2.        扩展了JavaScript
3.        与现存应用程序的集成
4.        可访问.NET Framework编程模型和相关工具
5.        集成Linq
6.        支持丰富的数据格式和网络通信方式
7.        支持搜索引擎的支持
8.        高质量的视频和音频

Silverlight应用程序的结构
AppManifest.xaml文件:自动生成应用程序清单
App.xaml:Silverlight应用程序入口文件,每个Silverlight程序都必须有一个App.xaml文件
Page.xaml:Silverlight用户控件,每个Silverlight应用程序都包含若干个用户控件  
3.3XAML
XAML是通过XML扩展出来的,用来定义用户界面层次
XAML特征:
XAML中的元素(标记)都对应.NET Framework中的某个类型
XAML具备面向对象特征,可以被继承和封装
能在XAML中通过元素和元素属性实现的功能,都可以通过后台代码实现
XAML也会创建节点树

Silverlight是以浏览器的外挂插件方式,提供 Web 应用程序中多媒体与高度交互性前端应用程序的解决
方案
Silverlight具有以下8大优势:
1.        浏览器,跨平台的支持
2.        扩展了JavaScript
3.        与现存应用程序的集成
4.        可访问.NET Framework编程模型和相关工具
5.        集成LINQ
6.        支持丰富的数据格式和网络通信方式
7.        支持搜索引擎
8.        高质量的视频和音频

开发Silverlight程序可以使用的工具包括VS.NET2008和Expression Studio系列
Silverlight程序被编译成.xap文件,该文件在HTML、PHP、ASPX、JSP等宿主页面中被加载执行
XAML语法特征包括:
通过元素的属性可以指定类的属性
将属性作为元素
1.        依赖属性
2.        附加属性
3.        标记扩展


第二章
1.1控件模型
1.2控件的使用包括以下内容
创建控件实例
1.        使用属性更改控件外观
2.        使用样式更改控件外观
3.        使用模板定义控件外观
4.        处理控件事件
按功能分,控件可以分为以下5类:
1.        面板控件
2.        内容控件
3.        列表控件
4.        普通控件
5.        其他控件

面板控件:共4个,都派生自Panal,分别是Canvas、 Grid、StackPanel和InkPresenter
1.        Canvas控件使用Margin属性来定位其内部元素
2.        Grid控件类似于HTML中的<table>,使用行和列来定位其内部元素
3.        StackPanel控件按照顺序排列的方式来布局其内部元素
4.        InkPresenter控件实现墨迹标注应用

内容控件:派生自ContentControl类,具有Content属性。内容控件包括Button、RadioButton、
HyperlinkButton、RepeatButton、ToggleButton、CheckBox和ScrollViewer
1.        Button:支持Click事件,以响应用户的单击
2.        RepeatButton:在鼠标按下到松开的过程中连续触发Click事件
3.        HyperlinkButton:显示超链接的按钮,单击后可链接到指定的URL
4.        ToggleButton:鼠标连续单击时交替重复改变样式(默认交替改变背景色)的按钮
5.        RadioButton:单选按钮
6.        CheckBox:复选框
7.        ScrollViewer:滚动查看器,用于显示滚动内容,通过Content属性指定显示内容


列表控件
1.        列表控件派生自ItemsControl类,用于显示数据集合列表。数据既可以在XAML中静态指定,也可
以从数据源中获取。列表控件包括ListBox、ComboBox和TabControl
2.        ComboBox:通过<ComboBoxItem>元素设置下拉列表项。列表项具有Content属性
3.        ListBox:通过<ListBoxItem>元素设置列表项。列表项具有Content属性
4.        TabControl:使用<TabItem>定义每个选项卡。列表项具有Content属性


普通控件
普通控件是直接从Control类派生

1.        TextBox:文本编辑框,可以是单行文本框,也可以是多行文本框
2.        Calendar:日历控件,非内置控件,在Silverlight控件开发包中
3.        DatePicker:允许用户输入或从下拉的Calendar控件中选择日期
4.        DataGrid:用于显示表格数据  
5.        GridSplitter:与Grid控件在一起使用,使用户可以调整行和列的大小
6.        PasswordBox:用于在单行输入敏感信息(一般是密码)?         
7.        ProgressBar:进度条控件,它由2种模式:IsIndeterminate属性为真时,显示重复模式;为false时,进度基于值进行填充
8.        Slider:滑动条,该控件可以在一定的范围内让用户通过移动Thumb控件来改变值。最常用的属性包括Value、Maximum和Minimum

其它控件
其他一些控件直接派生自FrameworkElement,与Control是平级关系
1.        TextBlock:显示少量静态信息的控件,类似于ASP.NET中的Label  
2.        Border:该控件用于在另一元素(控件)周围绘制边框或背景,经常用于布局,其中可以嵌套派生自UIElement类的控件
3.        Image:显示图片  
4.        MediaElement:该控件用于显示和控制多媒体  
5.        ToolTip:提供工具栏提示信息。该控件不可以直接使用,而是通过ToolTipService类的静态属性ToolTip来实现  
6.        Popup:在UI元素之上显示自定义的内容。Popup类似于ToolTip,但它不能自动显示和隐藏,需要通过IsOpen属性在类代码中进行控制

控件布局
1.        使用Canvas实现绝对布局。通过Canvas的附加属性Left、Top和Zindex实现元素的绝对定位
2.        StackPanel:
1.        StackPanel能够按水平或垂直方向对元素进行顺序排列,常用属性是Orientation,用于确定元素的排列方向,默认垂直排列子元素。控件的Margin属性
2.        StackPanel布局要依赖于内部元素的的Margin属性,但与Canvas不同,属性值相对于其上下左右的元素而言,而非相对于容器
3.        Grid:
1.        Grid可以实现多行和多列的布局,是所有布局中最为灵活的一种
2.        使用Grid的附件属性<Grid.RowDefinitions>和<Grid.ColumnDefinitions>定义行集合和列集合
3.        每个行集合包含若干个<RowDefinition>元素,每个列集合包含若干个<ColumnDefinition>元素
4.        可以使用Grid的附加属性<Grid.RowSpan>和<Grid.ColumnSpan>对行或者列进行合并
5.        布局元素时,使用Grid的附加属性<Grid.Row>和<Grid.Column>定位元素所处的行和列

数据绑定
3.1DataContext
1.        任何继承自FrameworkElement类的元素都具有DataContext属性,该属性属于数据上下文,通过该属性指定数据对象。数据上下文是可以继承的,如果指定了父元素的数据上下文,则子元素自动继承,子元素通过Binding标记获取数据源的值
2.        语法:{Binding 数据对象属性名}
3.        OneTime绑定适用于显示数据而不对数据进行更新的情况如果要使绑定的数据源在发生更改时通知控件,则数据源需要实现INotifyPropertyChanged接口
4.        使用Mode=OneWay执行单向绑定。单向绑定实现数据的单向更新,即数据源发生改变时会通知给控件显示,但用户界面的改变不会自动通知给数据源
5.        单向绑定时,数据对象必须实现INotifyPropertyChanged接口
6.        使用TwoWay执行双向绑定,可以更新目标控件和数据源,当目标控件属性发生更改时通知到数据源,当数据源发生更改时,通知到目标控件。绑定到控件的数据源必须实现INotifyPropertyChanged接口
7.        Silverlight控件直接或间接派生自FrameworkElement类,控件主要分为以下5类:
a)        面板控件:派生自Panel类,其中大部分用于布局
b)        内容控件:派生自ContentControl类,都具有Content属性
c)        列表控件:派生自ItemsControl类,显示列表数据
d)        普通控件:直接派生自Control类
e)        其他控件:派生自FrameworkElement类
8.        通过Canvas控件可对元素进行绝对定位
9.        通过StackPanel控件可按顺序排列元素
10.        通过Grid控件可以按行和列对元素进行布局
11.        数据绑定通过Binding对象来实现,每个控件都拥有DataContext属性
12.        列表空间可以通过ItemSoruce属性来指定集合数据
13.        数据绑定的模式有3种:
a)        OneTime:一次绑定,只在绑定创建时使用数据源更新目标控件,适用于只显示数据而不进行数据更新的情况
b)        OneWay:单向绑定,在绑定时或数据源发生变化时更新到目标,适用于显示变化的数据
c)        TwoWay:双向绑定,数据对象的更新既会反映到目标控件,也会通知给数据源
14.        单向绑定和双向绑定的数据对象需要实现INotifyPropertyChanged接口


【智云杂货铺 bbs.0936sht.com】
回复 论坛版权

使用道具 举报

非_AoNzu 发表于 2019-2-3 11:12:55 来自手机 | 显示全部楼层
值得学习,很不错的东东
来自: 微社区
【智云杂货铺 bbs.0936sht.com】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则