[Silverlight]常见问题
[Silverlight]常见问题
1. Silverlight项目是否支持ADO.NET对象?
不支持,Silverlight不支持常见的ADO.NET对象,如DataTable,DataSet,Database Connection等。你可以使用System.Data命名空间,但是它只包含了一切相关的服务而非ADO.NET对象。
2.Silverlight项目可以引用常规的类库吗?
不能,只能引用Silverlight类型的类库。
3.Silverlight中有哪些布局控件,他们应该在什么时候使用?
Cavas:
支持无需调整大小的简单的布局,当Cavas大小变动时,控件可以互相重叠。
StackPanel:
将一组控件按照水平或者垂直排列,控件之间不会互相重叠。
Grid:
最灵活,类似于Table的方式。
4.新增一个Silverlight项目时,会自动创建那些xaml文件,说说他们的用途?
App.xaml:
用来声明项目的共享资源,如Brush,Style等,并处理应用程序基本的事件,与asp.net中的golabal.asax类似。默认情况下它包含以下事件:
Application_Startup
Application_Exit
Application_UnhandledException
ReportErrorToDOM
MainPage.xaml或者Page.xaml:
Silverlight项目的起始页,与asp.net中的Default.aspx页面类似。
5.Silverlight页面的父类型是什么?
UserControl是所有Silverlight项目的基类型。
6.WPF和Silverlight的差别?
WPF和Silverlight都是用来构建丰富用户界面(动画、绘图、布局)的工具。他们都使用XAML来布局,自Silverlight2以来,都支持OOPS。主要的差别在于:
WPF:
1.主要应用于桌面系统,但其组件可以被ASP.NET网站使用;
2.可以单独直接运行(exe);
3.依赖于Windows;
4.可以通过桌面和浏览器使用;
5.可以直接与数据库交互(非WPF浏览器应用);
6.无需浏览器插件;
7.使用根标记,如Window,Page,UserControl等。
Silverlight:
用于网站开发;
通过使用组件将其输出集成到WebPage;
可以通过启用out of Browser特性(从Silverlight3开始)从桌面启动;
不依赖于Windows,有Linux实现(MoonLight);
不能直接存取数据库,需要使用WCF或者WebService;
需要安装浏览器插件;
根标记为UserControl,Page。
7.说说Silverlight的运行时?
Silverlight运行时用于从服务器端下载.xap文件,并将silverlight内容的删除展现到Web页面。它是一款浏览器插件,只有安装了该插件才能使浏览器正常的展示Silverlight内容。
8.什么是隔离存储(Isolated Storage)?
Silverlight使用隔离存储将数据以虚拟文件系统的方式存储到机器的隐藏文件夹中,并将数据分为两部分存放:
第一部分:包含了管理信息,如磁盘限额等;
第二部分:包含实际数据。
每一个silverlight应用都会被分配一款独立的分区,其默认的限额为1MB。
9.可以脱离.net framework创建Silverlight应用吗?
Silverlight4中包含了一个精简的.net framework,所以它可以独立运行。
10.在silverlight中不支持Hashtable