肯定要学习html之类的,都是.net体系,学习起来也不难,好多东西是相通的

解决方案 »

  1.   

       Silverlight与WPF类似 ,后台是C#,Microsoft Silverlight中文名“微软银光”,是一种新的Web呈现技术,能在各种平台上运行。对于开发设计人员而言,Silverlight是一种融合了微软的多种技术的Web呈现技术。它提供了一套开发框架,并通过使用基于向量的图像图层技术,支持任何尺寸图像的无缝整合,对基于asp .net、AJAX在内的Web开发环境实现了无缝连接。Silverlight使开发设计人员能够更好的协作,有效地创造出能在Windows和Macintosh上多种浏览器中运行的内容丰富、界面绚丽的Web应用程序——Silverlight应用程序。
      它是Web应用技术,为了更好掌握,ASP.NET、HTML5之类也要学。
      

  2.   

    不需要。不过vs上创建silverlight应用,会自动创建一个asp.net作为载体,因此你需要知道它。实际上silverlight程序可以承载在任何一个能够下载文件、例如html/css/javascript文件的web网站上就够了。也就是说任何web服务器,最基本功能的“静态网页”服务器就足够了。因此我前些年(自己买服务器之前)部署silverlight时都是找那些php或者jsp的空间,因为这些通常是免费的。
      

  3.   

    承载silverlight应用程序的html页面,例如<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" ><head>
        <title>PreLoad</title>
        <style type="text/css">
        html, body {
        height: 100%;
        overflow: auto;
        }
        body {
        padding: 0;
        margin: 0;
        }
        #silverlightControlHost {
        height: 100%;
        text-align:center;
        }
        </style>
        <script type="text/javascript" src="Silverlight.js"></script>
        <script type="text/javascript">
            function onSilverlightError(sender, args) {
                var appSource = "";
                if (sender != null && sender != 0) {
                  appSource = sender.getHost().Source;
                }
                
                var errorType = args.ErrorType;
                var iErrorCode = args.ErrorCode;            if (errorType == "ImageError" || errorType == "MediaError") {
                  return;
                }            var errMsg = "Silverlight 应用程序中未处理的错误 " +  appSource + "\n" ;            errMsg += "代码: "+ iErrorCode + "    \n";
                errMsg += "类别: " + errorType + "       \n";
                errMsg += "消息: " + args.ErrorMessage + "     \n";            if (errorType == "ParserError") {
                    errMsg += "文件: " + args.xamlFile + "     \n";
                    errMsg += "行: " + args.lineNumber + "     \n";
                    errMsg += "位置: " + args.charPosition + "     \n";
                }
                else if (errorType == "RuntimeError") {           
                    if (args.lineNumber != 0) {
                        errMsg += "行: " + args.lineNumber + "     \n";
                        errMsg += "位置: " +  args.charPosition + "     \n";
                    }
                    errMsg += "方法名称: " + args.methodName + "     \n";
                }            throw new Error(errMsg);
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server" style="height:100%">
        <div id="silverlightControlHost">
            <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
      <param name="source" value="ClientBin/PreLoad.xap"/>
      <param name="onError" value="onSilverlightError" />
      <param name="background" value="white" />
      <param name="minRuntimeVersion" value="5.0.61118.0" />
      <param name="autoUpgrade" value="true" />
      <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=5.0.61118.0" style="text-decoration:none">
        <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="获取 Microsoft Silverlight" style="border-style:none"/>
      </a>
        </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
        </form>
    </body>
    </html>
    这里,如果你的xap文件是部署在别的地方,你只要修改 ClientBin/PreLoad.xap 这个地址就行了。除此以外,你对这个html上其它一切东西都可以无视,根本不用去理解它。这是比较极端的情况。当然你有闲功夫的时候,完全可以去花搞懂这个html上其它代码是什么意思。如果你只会一点半点所谓的编程技术,那么你这是你自己的选择。我们会的东西要多20倍以上,才敢说自己基本上掌握了一点.net平台编程自由,这是我们自己的选择!绝不是靠什么“我只会silverlight、或者html/javascript、或者wpf、或者服务器开发之类的其中一部分”来找工作的。