Silverlight控件
摘要
这篇文章介绍了在Silverlight 2,Silverlight 2的SDK和Silverlight工具包2008年12月推出,和他们的设计师支持的控制。 基于他们的送货车辆,有三种类型从微软的Silverlight控件运行时的控制,SDK控制,和工具包控制。 设计师支持运行时和SDK控制分布在Visual Studio中,融合,Silverlight SDK的设计师工具包控制支持全面实施工具包的设计组件,使用设计师的可扩展框架。
运行控制
Silverlight运行时带有一套基本的控制,如按钮,帆布,椭圆,和TextBox。 这也暴露了一些控制,UserControl和小组的基类,允许用户自定义,扩展和建立自己的控制。 所有的运行时间控制在System.Windows.dll%PROGRAMFILES%下\微软Silverlight \ 2.0.31005.0 \:
请注意的XmlnsDefinition属性上述。 运行时间控制在默认xmlns http://schemas.microsoft.com/winfx/2006/xaml/presentation ,所以他们的标签不需要任何xmlns前缀,如下面的XAML所示:
<UserControl的
XMLNS =“ http://schemas.microsoft.com/winfx/2006/xaml/presentation “
的xmlns:X =“ http://schemas.microsoft.com/winfx/2006/xaml “
X:=“MySLApp1.Page”
WIDTH =“640”高=“480”>
<StackPanel的 X:名称=“LayoutRoot的”背景“白”>
<X按钮 :名称=“按钮”/>
</ StackPanel的 >
</ UserControl的 >
SDK的控制
的Silverlight 2 SDK是一个单独的包从Silverlight运行时。 您可以安装它http://silverlight.net/GetStarted :
它是Silverlight工具为Visual Studio 2008 SP1下载,其中还包括了Silverlight 2的开发人员运行时的一部分。 的Silverlight 2 SDK增加了两个控制的DLL:System.Windows.Controls.dll和System.Windows.Controls.Data.dll。
System.Windows.Controls.dll
System.Windows.Controls大会增加了四个主要的控件:日历,DatePicker的,GridSplitter,TabControl的,他们的支持类,两个相同的CLR命名空间:System.Windows.Controls System.Windows.Controls.Primitives,其中大多数运行时的控制还住。 System.Windows.Controls大会的所有控制的xmlns“的CLR命名空间:System.Windows.Controls;大会System.Windows.Controls”,和通常使用的“基础”xmlns前缀,如下面的Xaml所示:
<UserControl的
的xmlns:基础=“CLR命名空间:System.Windows.Controls;大会= System.Windows.Controls”
XMLNS = http://schemas.microsoft.com/winfx/2006/xaml/presentation
XMLNS:X = http://schemas.microsoft.com/winfx/2006/xaml
X:=“MySLApp1.Page”
WIDTH =“640”高=“480”>
<StackPanel x:Name="LayoutRoot" Background="White">
<basics:Calendar> </基础:日历>
</ StackPanel的>
</ UserControl的>
System.Windows.Controls.Data.dll
System.Windows.Controls.Data大会将所有强大的DataGrid控件和两个相同的CLR命名空间,System.Windows.Controls及System.Windows.Controls.Primitives就像运行大会System.Windows和SDK及其支持类,大会System.Windows.Controls。
System.Windows.Controls.Data控制(只是现在的DataGrid)的xmlns“CLR命名空间:System.Windows.Controls;大会= System.Windows.Controls.Data”,而且通常使用的“数据”xmlns前缀,如显示在下面的Xaml:
<UserControl的
的xmlns:数据=“CLR命名空间:System.Windows.Controls;大会= System.Windows.Controls.Data”
XMLNS = http://schemas.microsoft.com/winfx/2006/xaml/presentation
XMLNS:X = http://schemas.microsoft.com/winfx/2006/xaml
X:=“MySLApp1.Page”
WIDTH =“640”高=“480”>
<StackPanel x:Name="LayoutRoot" Background="White">
<data:DataGrid> </数据的DataGrid >
</ StackPanel的>
</ UserControl的>
工具包控制
Silverlight工具包又是一个单独的包,您可以安装从http://silverlight.net/GetStarted :
您还可以直接安装工具包的主页 : http://www.codeplex.com/Silverlight 。
一旦安装,Silverlight工具包添加了四个控制组件:
每个程序集引入了一个新的xmlns前缀下,一组控件:
- System.Windows.Controls.dll
- 的xmlns:=“CLR命名空间:Microsoft.Windows.Controls 控制 ;大会= Microsoft.Windows.Controls”
- 主要控制:AutoCompleteBox,DockPanel中,扩展,HeaderedContentControl,HeaderedItemsControls,标签,TreeView的,Viewbox的,WrapPanel
- System.Windows.Controls.Input.dll
- 的xmlns: 输入 “CLR命名空间:Microsoft.Windows.Controls;大会= Microsoft.Windows.Controls.Input”
- 主要控制的NumericUpDown,ButtonSpinner
- System.Windows.Controls.Theming.dll
- 主控制:ImplicitStyleManager,主题(Themes目录下,具体的主题类集会实施)
- System.Windows.Controls.DataVisualization.dll
- 主要控制:图表,分类|日期时间|线性]轴,[泡泡|酒吧|列|行|分散|饼系列
下面的截图显示了一个Silverlight应用程序使用的四个工具包组件:
设计器支持
从微软的Silverlight两个设计师的Visual Studio 2008 SP1中的Expression Blend 2 SP1。 设计师为Visual Studio 2008 SP1(VS9)的支持主要是关于工具箱图标和IntelliSense,在上面的截图所示。 Blend 2中的设计器支持主要是想说明有关元数据登记,分类,可浏览,ToolboxBrowsable等属性,下面的截图所示:
Runtime和SDK控制的设计支持
下面的截图展示设计师支持Silverlight运行时和SDK控制:
- Visual Studio的工具箱的图标,运行时和SDK控制和IntelliSense:
- 混合运行时和SDK控制的丰富的支持(图标,分类,描述,内联/扩展/对话框编辑器等):
安装Silverlight SDK的运行时和SDK控制的设计时组件:
- System.Windows.VisualStudio.Design.dll为运行时间控制在System.Windows.dll
- System.Windows.Controls.Design.dll System.Windows.Controls.xml SDK的控制在System.Windows.Controls.dll
- SDK中System.Windows.Controls.Data.dll控制System.Windows.Controls.Data.Design.dll及System.Windows.Controls.Data.xml
如果我们在反射器中打开这些设计的DLL,我们可以看到,他们不这样做远远高于其他提供Visual Studio工具箱图标:
没有元数据注册,也不由Blend显示漂亮的图标。 因此,运行时和SDK控件在Visual Studio和Blend丰富的设计师支持实际上是由设计者自行实施,而不是为这些控件的设计集会。 这将创建工具(VS9和Blend2)和控制(运行时和SDK控制)之间的紧密耦合。
设计支持工具包控制
另一方面,设计支持工具包控制设计组件工具包设计师的可扩展框架之上,全面实施:
你可以得到更多的工具包的设计时间功能和其实施以下职位的详细信息:
结论
因此,我们有三个航运Silverlight控件的车辆:
- 该工具包是开源CodePlex和船舶每隔几个月。 这使我们“添加新功能,为设计师和开发人员迅速,并为社会提供一个有效的方式来帮助塑造产品开发贡献思想和错误报告。”
- 以及烤,广泛采用,达到了成熟的质量乐队的控制,我们可以将它们移动到SDK的。
- 随着时间的推移,一些SDK的控制可能合并到Silverlight运行时。
Silverlight的革命性融合Web和桌面开发技术(语言,平台,工具等),统一的网络和桌面,桌面的力量,使Web客户端的Web开发。 Silverlight工具包队就像是微软内部的敏捷的ISV,持续,积极丰富和增强Silverlight平台,以及开拓了新的敏捷,协作和开源工程模型。 当时的想法是由 Shawn Burke和斯科特格思里开始,在肖恩的博客文章中描述的控制欲。












最近的评论