SilverLight 3.0问题总结
1. Tooltip没有了,只有ToolTipService.ToolTip属性提供提示功能。
2. WatermarkedTextBox没有了, 由于和WPF兼容的考虑WatermarkedTextBox被移除了.不过微软技术人员提供了单独的DLL和源文件可以下载并引用到项目中。
3. ToggleButton.IsThreeState的三种状态null,false,true
4. 不要设置UserControl的width和height。设置了会无法使用全屏效果。需要的话设置Grid的width和height
5. 当value属性和valuechanged方法被同时定义时,在初始化时会发生对象未被初始化错误。原因是设置了value初始值,导致在InitializeComponent()执行时会自动调用valuechanged方法。这时很有可能在valuechanged方法中使用的对象变量尚未被初始化完成,从而导致错误。
6. 通过Color.FromArgb方法建立Color对象。
7. 例如:Color color = Color.FromArgb((byte)this.alpha.Value, (byte)this.red.Value, (byte)this.green.Value, (byte)this.blue.Value);
8. VS2008和SilverLight 3.0的结合还不是很通畅,比如做个UserControl添加到一个xaml文件中,却死活找不到UserControl的自定义属性。但直接编译运行却没有问题。结果显示也正确。
9. Microsoft.SilverLight.ServiceReference错误:先卸载掉所有SilverLight控件和SDK、Tool for vs,然后按照版本从低到高的顺序重新安装。例如:先安装SilverLight2.0Developer,然后安装Silverlight Tools for vs2008,然后安装SilverLight3.0Developer,最后安装Blend安装包中的SilverLight 3.0 SDK啦。好麻烦的。我第一次就没有安装SilverLight2.0Developer.
10. 建立要在SilverLight中调用的WCF的svc文件时,请选择建立“启动SilverLight功能的WCF服务”。否则无法引用WCF服务的。
11.
12. 没有名称为“WcfSample.PostsServiceBehavior”的服务行为错误。Wcf中的web.config文件中没有添加对应的behavior标签段。例如:
<behaviors>
<serviceBehaviors>
<behavior name="WcfSample.PostsServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
13. </behaviors>
14. 在服务“PostsService”实现的协定列表中找不到协定名称“WcfSample.PostsService”错误。Wcf服务文件中没有设置[ServiceContract]和[OperationContract]等标签。
15. SilverLight3.0仍然不支持滚轮。无法理解!
16. 调用WCF服务跨域问题。在wcf项目根目录下添加crossdomain.xml文件。必须将原来WCF服务引用删除,然后再重新添加。内容如下:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<!-- domain="*" everyone access -->
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
17. SilverLight项目不能引用net下的dll,只能引用SilverLight单独的DLL,所以添加dll引用时需要手动到
C:\Program Files\Reference Assemblies\Microsoft\Framework\Silverlight\v3.0下添加对应dll