请问Silverlight4中都有哪些更新和新功能?

4月13日就要发布silverlight4正式版了,可我还不知道这个新版本有哪些更新和新的功能,谁能来告诉下?

  • 变更


    • RichTextBox 改进
    • WebBrowser control
    • Printing API enhancements
    • Native automation (COM interop)
    • Language/Script. support
    • Networking and Sockets
    • 摄像头、剪切板等的用户对话框


    新特性


    • XAP Signing
    • Custom window chrome for trusted applications
    • Pinned full-screen mode
    • WCF RIA Services Toolkit
    • ContextMenu control
    • SLLauncher silent installs





    关于Visual Studio 2010
    --------------------------------------------------------------------------------
    在为Visual Studio 2010安装Silverlight 4 toos之前请先给VS安装一个补丁文件

    RichTextBox(之前称为RichTextArea)
    --------------------------------------------------------------------------------
    Silverlight 4 包含了一个可以编辑显示富文本的新控件RichTextBox(在beta时他被称为RichTextArea)。这里他有了一些变化,根据大家的意见更 名为RichTextBox。在新特性上他提供了可以获取运行时显示内容的XAML能力,这个对保存内容以及在意外情况下找回内容十分的有用。获取 XAML十分的简单
    string richText = MyRichContent.Xaml;
    这里还提供了新的文本选择、定位API。更加详细的请看我的这一篇文章《[Silverlight 4 RC]RichTextBox概览》


    WebBroswer Control
    --------------------------------------------------------------------------------
    之前的Beta版本中提供了在OOB模式下显示Html内容的机制。这个版本中只是有一些API发生了变化。其中的HtmlBrush现在被称为 WebBrowserBrush。
    更加详细的请看这两篇文章《[Silverlight 4 RC]WebBrowser概览》《[Silverlight 4 RC]WebBrowserBrush概览》

    Painting API enhancements
    --------------------------------------------------------------------------------
    打印API的增强能帮助开发者查询打印页面的大小以及打印的区域。
    之前:
    PrintDocument doc = new PrintDocument();
    doc.DocumentName = "Sample Document";
    doc.Print();
    之后:
    PrintDocument doc = new PrintDocument();
    doc.Print("Sample Document");

    Native automation (COM interop)
    --------------------------------------------------------------------------------
    一些API产生了变化,运行需要OOB下的高级信任模式。
    之前:
    dynamic excel = ComAutomationFactory.CreateObject("Excel.Application");
    之后:
    dynamic excel = AutomationFactory.CreateObject("Excel.Application");


    Language/script. support
    --------------------------------------------------------------------------------
    Silverlight现在有了很棒的多语言支持,包括了泰国文和越南文子,还增加了对印度多字符的支持。
    Script


    • Bengali
    • Oriya
    • Malayalam
    • Kannada
    • Tamil
    • Telugu
    • Gujarati
    • Gurmukhi
    • Devanagari


    Language


    • Bengali, Assamese, Manipuri
    • Oriya
    • Malayalam
    • Kannada
    • Tamil
    • Telugu
    • Gujarati
    • Punjabi
    • Hindi, Marathi, Sanskirt, Konkani, Kashmiri, Nepali, Sindhi





    Networking
    --------------------------------------------------------------------------------
    在beta期间socket端口被限制在收信任的模式下运行,在这个RC版本了这个限制被取消掉了。
    另外,ClientHttp增加了UpLoadProgress状态以及缓存的支持。


    摄像头、剪切板等的用户对话框
    --------------------------------------------------------------------------------
    上边所提到的对话这里可以统一称作“用户授权对话框”。当一些香情况访问机器硬件、摄像头、麦克风、剪切板等的设备,或是增加独立存储空间等的操作都将要 询问用户是否允许。在beta版本中只是最基本的yes和no,在这里发布版本中为了提搞用户体验增加了一个“Remember my answer”记住我的选项。


    当然这个“记住我的选择”你可以在silverlight的Configuration中的Permission选项卡下做修改。


    高级信任模式下的证书认证
    --------------------------------------------------------------------------------
    在启用高级信任模式后的OOB应用你会发现他的安装界面和之前的OOB安装界面有了很大的区别。从安全角度上来说未经过证书认证的xap,在安装界面时总 是有黄色警戒提示,而且不会显示App的Icon在安装界面上。
    windows:
    mac osx:
    在签名后黄色的警戒没有了,Icon也显示了出来。
    windows:
    mac osx:
    另外未经过证书认证的xap OOB SL应用是无法自动的进行更新(CheckAndDownloadUpdateAsync)。



    OOB模式窗体边框样式
    --------------------------------------------------------------------------------
    之前做过wpf开发的朋友应该知道。wpf是可以自定义不规则边框的。在这里silverlight 的OOB模式也提供了类似的功能。他提供了三种样式的边框,一个是大家之前常用的,这里就不多做解释了。另外两个,一个是无边框模式,他是一个四四方方的 矩形直接显示内容。还有一个,就是在之前的无边框模式下将直角边缘改成圆角边缘。

    你可以在OOB模式下方选择边框样式。

    这里再看一下效果
    传统的边缘:

    圆角无边框样式:


    Pinned full-screem mode
    --------------------------------------------------------------------------------
    可固定的全屏模式,不知道大家有没有多显示器的开发环境。目前我就是一台笔记本在外接一个22寸的显示器。在实际应用中,可能会需要一遍在开发环境,另一 个显示器全屏播放一个电影~。  但是要是在开发环境中的显示器点击鼠标会导致另外的全屏电影模式的显示器退出全屏回到普通状态。在这个发布版本里新增加 了一些API来完善这个在多显示器模式下的全屏模式。
    App.Current.Host.Content.FullScreenOptions = System.Windows.Interop.FullScreenOptions.StaysFullScreenWhenUnfocused;
    一旦上边的代码生效,全屏模式将一直保持下去直到用户按下esc键或者手动点击退出全屏按钮,全屏模式才会退出。

    ContextMenu control
    --------------------------------------------------------------------------------
    在beta版本里新增加了右击事件,在绝大多数情况下这个事件被开发人员用来做了右键菜单。这里最新发布的Toolkit for March 2010里新增加了一个ContextMenu控件来实现右击菜单的功能。


    SLLauncher silent installs
    --------------------------------------------------------------------------------
    这个版本里应用sllanucher.exe可以允许用户通过命令行的方式开部署OOB模式的silverlight应用。
    "%ProgramFiles%\Microsoft Silverlight\sllauncher.exe" /install:"D:\deploy\demoapp.xap"
    /origin:"http://foocompany.com/apps/ClientBin/demoapp.xap"
    /shortcut:desktop+startmenu
    /overwrite


    WCF RIA Services Toolkit
    --------------------------------------------------------------------------------
    在你安装了silverlight 4 Tools for Visual Studio会自动的给你装上WCF RIA Service。
    其中包括:


    • LinqToSql DomainService
    • SOAP endpoint – enabling exposing a SOAP endpoint for your DomainService
    • JSON endpoint – enabling exposing a JSON endpoint for your DomainService
    • ASP.NET DomainDataSource – enabling your ASP.NET application to talk to your DomainService