学习WPF(第一天)-补记
2007-11-12 15:51
162 查看
昨天看了李建忠《Windows Vista》系列培训课程的第一讲和第二讲,对WPF有了一个初步的认识,基于高性能个人电脑和高速网络,Microsoft推广RIA(Rich Internet Application)的确是一个挺不错的目标,至少以后我们就不用为了使用一些常用软件(功能)而在网上到处找了。我们可以很方便的通过一个URI去定位一个自己需要的服务,所要做的就是下载一个RIA,并且运行它就可以了。听起来就让人觉得兴奋。但是这个讲座已经是一年前的了,不知道目前Vista下是怎么做的。
我总结了下昨天学到的关于WPF的知识:
1。HTML已经不能满足动态服务的需求,Vista的应用方向是网络服务+RIA
2。WPF为RIA提供了基础
3。WPF的优点:多媒体用户界面;UI和Logic的分离(这里我觉得也就是一个UI初步design和Logic的分离,如果Logic要改变UI,也是不可能完全分离的);部署灵活,支持服务化软件(就是我在上面提到的通过下载一个RIA而不是本地安装软件来获得服务);模板丰富,布局容易(布局我体会到了,真有点类似AutoCAD。模板暂时还没使用到);数据绑定(据说比WinForm的数据绑定强大的多,以后会是学习的一个重点吧);
4。WPF包括:Document Service,User Interface Service, Media Intergration Layer和Base Service。其中UI Service是我学习的目标。但是我觉得如果脱离了Web服务,WPF就是大材小用了。
昨天晚上我就用Visual C# 2008 Express Edition 编写了一个播放wmv视频的Window,感觉上优缺点各半吧。
以下是我初步体验WPF Applicaion的感受
1。WPF的Form,称为Window,不像Window Form2.0里的Form,它只能容纳一个控件。当我在Window里放入一个button后,死活不能再放一个菜单进去。后来才发现是这个原因。不知道是不是因为Window是基于DirectX的才做成这样的。
2。xaml里也支持Intellisence,这使得编辑xaml成为一件愉快的事情
。我在控件的property栏里,没有看到event编辑器。不知道是Express Edition不支持呢,还是说我们编辑event必须在xaml文件里。反正目前如果我想实现一个空间的事件,我只能跑xaml文件里去做
。
3。作为Window的子控件,我不知道如何让它dock到Window上
4。在Solution Explorer里,我看到原本在WinForm里一个form的结构(XXX.cs下面有个XXX.Designer.cs)变成了XXX.xaml下面有个XXX.xaml.cs。开始我还当成两个都是xmal文件了。呵呵~~原来是designer文件和cs文件掉了个儿。也体现出WPF里以UI design为中心的特点。
5。开始感觉很奇怪,一个Window的InitializeComponent函数在xmal和cs文件中都没有找到。后来我对这个函数go to defination时发现,多出了一个XXX.g.i.cs文件,而这个文件在obj文件夹里面。如果我猜的不错的话,这个文件应该是由xaml解析出来的cs文件了。当然,我们不需要去编辑这个文件,只要对xaml做操作就好了
6。可能由于我的机器比较慢,每当程序做出一点修改后,往往会影响到designer,reload designer好慢啊~~~
7。WPF对媒体文件的支持的确非常好。我在Canvas中加入了一段xaml代码,就能播放wmv文件了。
<MediaElement Name="mediaElement" Source="1.wmv" Width="499.041" Height="177.255">
</MediaElement>
8。对于MediaElement对象,我们可以调用它的Play,Pause,Stop方法来控制它的播放。至于使用一个slider来控制它。昨天太晚了,没做。呵呵~~。总之,WPF对Media的支持的确是很好。能作出很绚丽的UI来。
我总结了下昨天学到的关于WPF的知识:
1。HTML已经不能满足动态服务的需求,Vista的应用方向是网络服务+RIA
2。WPF为RIA提供了基础
3。WPF的优点:多媒体用户界面;UI和Logic的分离(这里我觉得也就是一个UI初步design和Logic的分离,如果Logic要改变UI,也是不可能完全分离的);部署灵活,支持服务化软件(就是我在上面提到的通过下载一个RIA而不是本地安装软件来获得服务);模板丰富,布局容易(布局我体会到了,真有点类似AutoCAD。模板暂时还没使用到);数据绑定(据说比WinForm的数据绑定强大的多,以后会是学习的一个重点吧);
4。WPF包括:Document Service,User Interface Service, Media Intergration Layer和Base Service。其中UI Service是我学习的目标。但是我觉得如果脱离了Web服务,WPF就是大材小用了。
昨天晚上我就用Visual C# 2008 Express Edition 编写了一个播放wmv视频的Window,感觉上优缺点各半吧。
以下是我初步体验WPF Applicaion的感受
1。WPF的Form,称为Window,不像Window Form2.0里的Form,它只能容纳一个控件。当我在Window里放入一个button后,死活不能再放一个菜单进去。后来才发现是这个原因。不知道是不是因为Window是基于DirectX的才做成这样的。
2。xaml里也支持Intellisence,这使得编辑xaml成为一件愉快的事情
。我在控件的property栏里,没有看到event编辑器。不知道是Express Edition不支持呢,还是说我们编辑event必须在xaml文件里。反正目前如果我想实现一个空间的事件,我只能跑xaml文件里去做
。
3。作为Window的子控件,我不知道如何让它dock到Window上
4。在Solution Explorer里,我看到原本在WinForm里一个form的结构(XXX.cs下面有个XXX.Designer.cs)变成了XXX.xaml下面有个XXX.xaml.cs。开始我还当成两个都是xmal文件了。呵呵~~原来是designer文件和cs文件掉了个儿。也体现出WPF里以UI design为中心的特点。
5。开始感觉很奇怪,一个Window的InitializeComponent函数在xmal和cs文件中都没有找到。后来我对这个函数go to defination时发现,多出了一个XXX.g.i.cs文件,而这个文件在obj文件夹里面。如果我猜的不错的话,这个文件应该是由xaml解析出来的cs文件了。当然,我们不需要去编辑这个文件,只要对xaml做操作就好了
6。可能由于我的机器比较慢,每当程序做出一点修改后,往往会影响到designer,reload designer好慢啊~~~
7。WPF对媒体文件的支持的确非常好。我在Canvas中加入了一段xaml代码,就能播放wmv文件了。
<MediaElement Name="mediaElement" Source="1.wmv" Width="499.041" Height="177.255">
</MediaElement>
8。对于MediaElement对象,我们可以调用它的Play,Pause,Stop方法来控制它的播放。至于使用一个slider来控制它。昨天太晚了,没做。呵呵~~。总之,WPF对Media的支持的确是很好。能作出很绚丽的UI来。
相关文章推荐
- WPF基础学习第一天
- 黑马程序员——WPF学习第一天!!
- WPF 学习笔记 - 2. Dispatcher
- WPF 学习笔记 - 10. Binding (3)
- WPF学习笔记——编辑DataGrid单元格并实时更新到数据库
- 【转载】学习WPF,转向移动互联网(windows phone && windows 8 )开发(下)
- C++学习第一天
- java学习第一天。基础(1)
- WPF学习笔记-用Expression Blend制作自定义按钮
- WPF学习之资源-Resources
- processing 学习第一天笔记
- 收藏wpf 学习
- WPF Caliburn 学习笔记(五)HelloCaliburn
- 学习jQuery第一天
- html学习之路——第一天(2)
- 黑马程序员--- 学习笔记(第一天)
- WPF and Silverlight 学习笔记(二十六):基本图形使用(1)
- 一、Android学习第一天——环境搭建(转)
- Android学习第一天随手记(啃食API中)
- WPF学习之绑定—Validation Rule和Binding Group