首页 > 设计时Silverlight的 Silverlight工具包的设计时功能:二零零九年三月版本更新

Silverlight工具包设计的时代特点:2009年3月版本更新

介绍

Silverlight工具包的二零零九年三月发行版拥有作者:新的的功能和改进的地段。 其中,设计时功能的更新:

  • 一个新的MSI安装程序,提供与Visual Studio和融合的开箱紧密集成,从而使Silverlight开发工具包的容易得多;
  • 支持与Visual Studio 2008和Blend 2中双方的Silverlight 2开发,和Silverlight 3与Visual Studio 2008和Blend 3中的发展;
  • 加六(新的控制功能,设计时间手风琴DomainUpDownLayoutTransformer 的TimePickerTimeUpDownTransitioningContentControl );
  • 杠杆作用在Blend中3的新的的的设计的时间的可扩展性的框架(,和,应很快在二零一零年Visual Studio中)和改善为现有的控件的的的设计时间功能,像的默认情况下intializers,的AlternateContentPropertyAttribute,和用户自定义的编辑器中,,到提供一个更更好的的的设计的经验,,,尤其是在Blend 3中,。

这篇文章是我以前的职位更新Silverlight工具包的设计时功能

Silverlight 2开发与Visual Studio 2008和Blend 2

安装

http://silverlight.net/GetStarted/

  • 然后按照步骤4 Silverlight工具包 CodePlex上页,点击“下载最新版本”的链接:

http://www.codeplex.com/Silverlight

  • 点击“的Silverlight 2工具包二零零九年三月安装程序”链接,并运行MSI:(您还可以保存到您的计算机上的MSI和运行以后)

http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=20430

安装完成后,您会看到您的计算机上安装的Silverlight 2工具包:

C:Program FilesMicrosoft SDKsSilverlightv2.0ToolkitMarch 2009LibrariesDesign

请注意:

  • 有一个命名空间(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上页:

Microsoft Silverlight 2 Toolkit March 2009 Start Menu item

演练

让我们的使用一个演练,上如何,,以创建一个在Blend中的的的Chart控制项,,到展示出的为Silverlight工具包的的的的设计时间功能:

  • 创建一个混合新的Silverlight 2应用程序项目:

New Project Dialog

  • 添加到工具包组件的参考:(在这里,我添加了所有的工具包组件,但只有System.Windows.Controls.DataVisualization.Toolkit.dll本演练需要)

Add Reference to Toolkit Assemblies

  • 开放式资源库“,单击”自定义控件“选项卡,双击图表控件:

Toolkit Controls in Asset Library

  • 图表控件添加到设计图面,下设数据可视化类的Title属性,在属性面板:

Infotip, custom category, and custom editor

  • 点击“新建”按钮旁边的DataContext属性通用属性下,选择PointCollection从“选择对象”对话框,然后单击“确定”:

Create DataContext

  • 在XAML编辑器,替换生成的XAML“<PointCollection />”要像那些强调在下面的截图,图表控件提供的一些数据显示:

Edit DataContext

  • 按一下按钮旁边“系列(集合)”公共属性“类别下的属性,单击”添加其他项目“系列集合编辑器对话框中的按钮,选择”选择对象“对话框中ColumnSeries,然后单击确定:

Create Series

  • 回到系列集合编辑器对话框,设置的新创建ColumnSeries的权利属性窗格中的属性:
    • 设置DependeptValuePath X和IndependentValuePath到Y时,在公共属性类别
      Series Collection Editor
    • 点击ItemsSource属性的权利的矩形,选择数据绑定......从弹出的上下文菜单:
      Databinding for ItemsSource
    • 选择的唯一项目,PointCollection(阵列)项目,在创建数据绑定“对话框中的字段列表框,然后点击”完成“按钮:
      Create Data Binding Dialog
    • 再次回到系列集合编辑器对话框,注意ItemsSource属性,现在有一个黄色的矩形包围,这表明它现在已经变了一个数据绑定值。 单击“确定”关闭“系列集合编辑器对话框:
      Series Collection Editor
  • 我们又回到主窗口融为一体,瞧,我们有一个很好地呈现在“设计”视图的图表控件:

Yes!

我们可以按F5键生成并运行该项目从混合,或在Visual Studio中打开项目继续编辑XAML和代码。 请注意,Visual Studio工具箱工具包控制自动填充下面的截图:

Visual Studio

Silverlight 3的开发与Visual Studio 2008和Blend 3

安装

在您开始之前,请读取上的重要的开发人员笔记http://silverlight.net/getstarted/silverlight3/default.aspx#的工具仔细地(在在下面的的屏幕截图太)。

安装完成后,您会看到您的计算机上安装了Silverlight 3测试版的SDK和工具包:

  • SDK的:

Silverlight 3 SDK: C:Program FilesMicrosoft SDKsSilverlightv3.0LibrariesClientDesign

  • 工具箱:

Silverlight 3 Toolkit: C:Program FilesMicrosoft SDKsSilverlightv3.0ToolkitMarch 2009Libraries

和Microsoft的Silverlight 3工具包二零零九年三月开始菜单中为的所有Toolkit的详细信息的容易的的访问,到上项目的组:

image

演练

现在,让我们做的相同的的与Blend 3中中创建一个Chart控制的的演练中,但这个时候:

  • 从开始菜单启动Microsoft Expression Blend 3中预览,创建一个新的Silverlight 3应用+网站项目:

Blend 3 New Project Dialog

  • 单击“资源库”,注意控制标签预先填充与Silverlight 3运行时和SDK控制,包括那些用来在工具包,喜欢的DockPanel,扩展下,TreeView等Blend 3的异步填充资源库,所以你可能会注意到一些秒延迟“控件”选项卡之前完全填充。

Asset Library, Controls Tab

  • 单击的自定义控件卡,发现它与工具包控制预填充:

Asset Library, Custom Controls tab

  • 双击图表控件,单击并拖动设计表面上,瞧,一个图表控件,创建一些示例数据初始化,并很好地呈现。 我们必须通过在Blend 2中的很多手动步骤去创造相同的结果:

Chart Default Initializer

请注意在上面的截图:

  • 在右侧的“项目”面板,自动添加到System.Windows.Controls.DavaVisualization.Toolkit.dll;
  • 在XAML编辑器的xmlns:chartingToolkit定义自动添加
  • 还注意到一些Blend 3的新功能,如图表控件的自定义图标(在对象和时间轴窗格和属性窗格),默认初始化,初始XAML生成图表控制。

由于图表控件是如此轻松地创建,让我们在Blend 3的演练多一点。

  • 点击右侧的“属性”选项卡,并扩大在左窗格中的对象和时间轴的图表控件:

Chart: AlternateContentPropertyAttribute 请注意在上面的截图:

  • 在属性面板,在右边的白色小圆点突出图表控件的默认初始化初始化属性;
  • 在对象和时间轴面板,有LegendItems和轴图表对象下的属性,和下​​ColumnSeries对象IndependentAxis和DependentRangeAxis属性。 那些被称为替代的内容属性。 他们中显示的对象层次结构允许方便地访问这些属性在设计时。 例如,我们可以拖动和拖放LinearAxis轴属性:

AlternateContentProperty

AlternateContentProperty

所以比较相同创建在Blend 3和Blend 2中的图表控件演练,我们可以看到,Blend 3的一个更好的设计师,我们的设计组件Blend 3的时间都利用许多新的设计时的可扩展性功能,如默认初始化和候补的的内容的物业,,,到极大地改善的为工具包控件的的的的的的设计的经验。

现在打开Visual Studio中的项目:

Visual Studio Design Experience

请注意:

  • 左侧的工具箱中会预先填入SDK和工具包控制。
  • 在底部的输出窗口显示一条错误消息,约未能加载设计组装。 安全地忽略它。

在Visual Studio 2008设计经验(Silverlight 2和3)

在Visual Studio中的工具包的设计的经验是漂亮的得多的为既Silverlight 2和Silverlight 3中的的相同的的,所以我们可以继续从作者:上面的的两个演练的要么的执行以下操作。 为方便起见,我们将继续从Silverlight 3演练上面。

现在拖放Accordion控件从工具箱中的XAML编辑器:

Visual Studio Design Experience

我们可以看到:

  • 在XAML编辑器
    • 自动添加
    • <layoutToolkit:Accordion> </ layoutToolkit:手风琴>自动添加
  • 在解决方案资源管理器
    • 引用System.Windows.Controls.Layout.Toolkit大会,它取决于两个组件,工具包和SDK中System.Windows.Controls的System.windows.Controls.Toolkit自动添加到项目

现在拖拽几个控件从工具箱XAML编辑器。

Visual Studio Design Experience

在上面的截图,请注意:

  • 在XAML编辑器
    • 我们可以看到,我们拖放的日历,的AutoCompleteBox和的NumericUpDown手风琴
    • 自动添加适当的xmlns定义和XAML代码
  • 在预览窗口
    • XAML代码是正确渲染,因为我们在XAML编辑器中编辑
  • 在代码编辑器
    • 注意的intellisense和信息提示
    • 放心地忽略错误窗口中的错误,因为我们在XAML或代码编辑器中键入完成之前,我们声明
  • 在解决方案资源管理器:
    • 自动添加所需的程序集的引用

按F5键,并建立和运行正常:

Visual Studio Design Experience

积分

我当然希望你的设计经验,改进兴奋,因为我实现了大部分 :-) 杰夫·威尔科克斯实施安装, 贾斯汀天使写在设计时体验和安装规范。 许多其他同事设计经验,尤其是个RJ Boeke贾法尔侯赛因 ,和大卫陈方安生 Blend和苹果酒队,尤其是许多人的感谢乌尼Ravindranathan布赖恩·佩潘和埃里克·菲斯克,加里Linscott,彼得布洛瓦。 没有他们,没有设计经验,改进成为可能。 肖恩·伯克 ,他的支持,并强调在设计时功能,在解决硬盘的关键技术问题的深入参与。

我会写的后续设计时间实施更新于2009年3月后释放。 敬请期待!

  1. 2009年9月16日15:14 | #1

    事实证明,如果该物业也是默认的Content属性,它不起作用。 我删除了class属性定义的默认内容属性的时刻,它开始工作。 混合的错误呢?

  2. 9月16日10时36分,2009 | #2

    我与AlternateContentPropertyAttribute有一些问题。
    这似乎对任何类型的非集合对象属性工作,并在任何的Controls集合。 然而,它不工作,对收集的非控制。 例如一个对象,从继承,只有继承自DependencyObject的对象的集合。
    那一刻,我改变了我的项目的类型对象来继承,而不是DependencyObject的控制,我看到在TreeView的对象。 改回去,然后就不见了。

    我如何解决此问题? 我想显示在TreeView对象的集合。

    谢谢!

  1. 2009年3月25日10:41 | #1
  2. 2009年4月30日00:33 | #2
  3. 5月11日在1时43分2009 | #3