WPF做为桌面开发元素,Silverlight则主要为网络版开发元素,即大多情况下需浏览器支持,当然out of brower模式可以是桌面版。
今天在将以前用Silverlight做的一个的系统直接搬到WPF下遇到的些许问题(PS:问题不是很多,比我预想要好):
1.首先从引用的命名空间谈起:
引用空间丰富化,很多个类库可以调用。Silverlight中对类似TabControl的一些基本控件需要引用特制的dll,WPF则可直接引用。WPF中唯一可以需要特殊引用的是WPFToolkit这个命名空间。类似dataGrid这样的控件位于其中。其实从工具箱的分类排布也可看出一二。
2.对资源的引用。资源必须添加x:Key属性,这在Silverlight中不是必须的。
3.Storyboard生成当中,不存在EasingDoubleKeyFrame等属性,相对应的更改为DoubleAnimationUsingKeyFrames等;
4.WPF中不存在Silverlight中的d:LayoutOverrides、 UseLayoutRounding="False"等属性;
5.WPF控件的x:Name或x:Key属性不允许绑定,这个问题善待解决;
6.关于Storyboard在后台的调用:
Silverlight:Storyboard1.Begin()即可;
WPF:
Storyboard my_sb = (Storyboard)this.FindResource("Storyboard1");
my_sb.Begin(this);
7.样式问题,WPF下没有b/s模式(即Silverlight)下那种灵活的样式调用。
(待续)