您的位置:首页 > 其它

学习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来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: