Silverlight工具包设计的时代特点:2009年3月版本更新
介绍
Silverlight工具包的的二零零九年三月发行版拥有作者:新的的功能和改进的地段。 其中,设计时功能的更新:
- 一个新的MSI安装程序,提供与Visual Studio和融合的开箱紧密集成,从而使Silverlight开发工具包的容易得多;
- 支持与Visual Studio 2008和Blend 2中双方的Silverlight 2开发,和Silverlight 3与Visual Studio 2008和Blend 3中的发展;
- 加六(新的控制功能,设计时间手风琴 , DomainUpDown , LayoutTransformer 的TimePicker , TimeUpDown , TransitioningContentControl );
- 杠杆作用在Blend中3的新的的的设计的时间的可扩展性的框架(,和,应很快在二零一零年Visual Studio中)和改善为现有的控件的的的设计时间功能,像的默认情况下intializers,的AlternateContentPropertyAttribute,和用户自定义的编辑器中,,到提供一个更更好的的的设计的经验,,,尤其是在Blend 3中,。
这篇文章是我以前的职位更新Silverlight工具包的设计时功能 。
Silverlight 2开发与Visual Studio 2008和Blend 2
安装
- 首先,按照步骤1和2安装Silverlight 2和2混合http://silverlight.net/GetStarted~~V :
- 然后按照步骤4 Silverlight工具包 CodePlex上页,点击“下载最新版本”的链接:
- 点击“的Silverlight 2工具包二零零九年三月安装程序”链接,并运行MSI:(您还可以保存到您的计算机上的MSI和运行以后)
安装完成后,您会看到您的计算机上安装的Silverlight 2工具包:
请注意:
- 有一个命名空间(CLR和xmlns前缀)和装配从以前的版本在此版本中System.Windows.Controls的Microsoft.Windows.Controls名称变更。 请参阅肖恩·伯克的Silverlight工具包后三月2009年发布的一个很好的解释的变化和发展的影响与Silverlight工具包。
- 除了现有的四个工具包组件,在以前的版本(控制,Controls.Input,Control.DataVisualization,和Controls.Theming的),是在此版本中添加一个新的装配:Controls.Layout,其中载有手风琴,LayoutTransfer,TransitioningContentControls。
- 我们仍然遵循相同的约定:设计时组件有三个设计为每个运行时组件的一次集会(设计,expression.design,和visualstudio.design。),和所有组件驻留在“设计”子文件夹的设计时间。
还有一个新的微软的Silverlight 2工具包三月2009年开始菜单项目组提供方便地访问所有工具包的相关信息,如文档,样品,在本地计算机上的源代码,Silverlight工具包论坛和网站上的CodePlex上页:
演练
让我们的使用一个演练,上如何,,以创建一个在Blend中的的的Chart控制项,,到展示出的为Silverlight工具包的的的的设计时间功能:
- 创建一个混合新的Silverlight 2应用程序项目:
- 添加到工具包组件的参考:(在这里,我添加了所有的工具包组件,但只有System.Windows.Controls.DataVisualization.Toolkit.dll本演练需要)
- 开放式资源库“,单击”自定义控件“选项卡,双击图表控件:
- 图表控件添加到设计图面,下设数据可视化类的Title属性,在属性面板:
- 点击“新建”按钮旁边的DataContext属性通用属性下,选择PointCollection从“选择对象”对话框,然后单击“确定”:
- 在XAML编辑器,替换生成的XAML“<PointCollection />”要像那些强调在下面的截图,图表控件提供的一些数据显示:
- 按一下按钮旁边“系列(集合)”公共属性“类别下的属性,单击”添加其他项目“系列集合编辑器对话框中的按钮,选择”选择对象“对话框中ColumnSeries,然后单击确定:
- 回到系列集合编辑器对话框,设置的新创建ColumnSeries的权利属性窗格中的属性:
- 我们又回到主窗口融为一体,瞧,我们有一个很好地呈现在“设计”视图的图表控件:
我们可以按F5键生成并运行该项目从混合,或在Visual Studio中打开项目继续编辑XAML和代码。 请注意,Visual Studio工具箱工具包控制自动填充下面的截图:
Silverlight 3的开发与Visual Studio 2008和Blend 3
安装
在您开始之前,请读取上的重要的开发人员笔记http://silverlight.net/getstarted/silverlight3/default.aspx#的工具仔细地(在在下面的的屏幕截图太)。
- 首先,按照前三个步骤http://silverlight.net/getstarted/silverlight3/default.aspx#工具页安装Silverlight 3测试版工具,SDK(DockPanel中,WrapPanel一样,一些以前的工具包控制,扩展,Viewbox的, HeaderedContentControl,HeaderedItemsControl,TreeView的,的AutoCompleteBox等,他们的设计时间组件,已转移到SDK在Silverlight 3中),和Blend 3的预览:
- 然后,按照第四步Silverlight工具包CodePlex项目站点 ,点击下载最新版本的链接,然后点击并运行的Silverlight 3工具包二零零九年三月安装程序:
安装完成后,您会看到您的计算机上安装了Silverlight 3测试版的SDK和工具包:
- SDK的:
- 工具箱:
和Microsoft的Silverlight 3工具包二零零九年三月开始菜单中为的所有Toolkit的详细信息的容易的的访问,到上项目的组:
演练
现在,让我们做的相同的的与Blend 3中中创建一个Chart控制的的演练中,但这个时候:
- 从开始菜单启动Microsoft Expression Blend 3中预览,创建一个新的Silverlight 3应用+网站项目:
- 单击“资源库”,注意控制标签预先填充与Silverlight 3运行时和SDK控制,包括那些用来在工具包,喜欢的DockPanel,扩展下,TreeView等Blend 3的异步填充资源库,所以你可能会注意到一些秒延迟“控件”选项卡之前完全填充。
- 单击的自定义控件卡,发现它与工具包控制预填充:
- 双击图表控件,单击并拖动设计表面上,瞧,一个图表控件,创建一些示例数据初始化,并很好地呈现。 我们必须通过在Blend 2中的很多手动步骤去创造相同的结果:
请注意在上面的截图:
- 在右侧的“项目”面板,自动添加到System.Windows.Controls.DavaVisualization.Toolkit.dll;
- 在XAML编辑器的xmlns:chartingToolkit定义自动添加
- 还注意到一些Blend 3的新功能,如图表控件的自定义图标(在对象和时间轴窗格和属性窗格),默认初始化,初始XAML生成图表控制。
由于图表控件是如此轻松地创建,让我们在Blend 3的演练多一点。
- 点击右侧的“属性”选项卡,并扩大在左窗格中的对象和时间轴的图表控件:
- 在属性面板,在右边的白色小圆点突出图表控件的默认初始化初始化属性;
- 在对象和时间轴面板,有LegendItems和轴图表对象下的属性,和下ColumnSeries对象IndependentAxis和DependentRangeAxis属性。 那些被称为替代的内容属性。 他们中显示的对象层次结构允许方便地访问这些属性在设计时。 例如,我们可以拖动和拖放LinearAxis轴属性:
所以比较相同创建在Blend 3和Blend 2中的图表控件演练,我们可以看到,Blend 3的一个更好的设计师,我们的设计组件Blend 3的时间都利用许多新的设计时的可扩展性功能,如默认初始化和候补的的内容的物业,,,到极大地改善的为工具包控件的的的的的的设计的经验。
现在打开Visual Studio中的项目:
请注意:
- 左侧的工具箱中会预先填入SDK和工具包控制。
- 在底部的输出窗口显示一条错误消息,约未能加载设计组装。 安全地忽略它。
在Visual Studio 2008设计经验(Silverlight 2和3)
在Visual Studio中的工具包的设计的经验是漂亮的得多的为既Silverlight 2和Silverlight 3中的的相同的的,所以我们可以继续从作者:上面的的两个演练的要么的执行以下操作。 为方便起见,我们将继续从Silverlight 3演练上面。
现在拖放Accordion控件从工具箱中的XAML编辑器:
我们可以看到:
- 在XAML编辑器
- 自动添加
- <layoutToolkit:Accordion> </ layoutToolkit:手风琴>自动添加
- 在解决方案资源管理器
- 引用System.Windows.Controls.Layout.Toolkit大会,它取决于两个组件,工具包和SDK中System.Windows.Controls的System.windows.Controls.Toolkit自动添加到项目
现在拖拽几个控件从工具箱XAML编辑器。
在上面的截图,请注意:
- 在XAML编辑器
- 我们可以看到,我们拖放的日历,的AutoCompleteBox和的NumericUpDown手风琴
- 自动添加适当的xmlns定义和XAML代码
- 在预览窗口
- XAML代码是正确渲染,因为我们在XAML编辑器中编辑
- 在代码编辑器
- 注意的intellisense和信息提示
- 放心地忽略错误窗口中的错误,因为我们在XAML或代码编辑器中键入完成之前,我们声明
- 在解决方案资源管理器:
- 自动添加所需的程序集的引用
按F5键,并建立和运行正常:
积分
我当然希望你的设计经验,改进兴奋,因为我实现了大部分
杰夫·威尔科克斯实施安装, 贾斯汀天使写在设计时体验和安装规范。 许多其他同事设计经验,尤其是个RJ Boeke , 贾法尔侯赛因 ,和大卫陈方安生 。 Blend和苹果酒队,尤其是许多人的感谢乌尼Ravindranathan布赖恩·佩潘和埃里克·菲斯克,加里Linscott,彼得布洛瓦。 没有他们,没有设计经验,改进成为可能。 和肖恩·伯克 ,他的支持,并强调在设计时功能,在解决硬盘的关键技术问题的深入参与。
我会写的后续设计时间实施更新于2009年3月后释放。 敬请期待!












事实证明,如果该物业也是默认的Content属性,它不起作用。 我删除了class属性定义的默认内容属性的时刻,它开始工作。 混合的错误呢?
我与AlternateContentPropertyAttribute有一些问题。
这似乎对任何类型的非集合对象属性工作,并在任何的Controls集合。 然而,它不工作,对收集的非控制。 例如一个对象,从继承,只有继承自DependencyObject的对象的集合。
那一刻,我改变了我的项目的类型对象来继承,而不是DependencyObject的控制,我看到在TreeView的对象。 改回去,然后就不见了。
我如何解决此问题? 我想显示在TreeView对象的集合。
谢谢!