存档

帖子标记'Viewbox的“

Silverlight工具包的设计时功能

12月13日,2008 没有评论

介绍

Silverlight工具包 2008年12月推出,为控件添加设计时功能。 我写这些设计时功能,会写了一系列有关如何执行他们的职位。 这是第一次,给予那些设计时功能的概述。

二进制文件

对于每一个四个控制组件,设计时间组件有三种:

:\网状\ SLTK \二进制>使用Filever / S / E /
C:\网\ sltk \二进制文件\ *
w32i的DLL - 286,720马力2.0.21024.1838 12-09-2008 microsoft.windows.controls.datavisualization.dll
w32i的DLL - 200,704马力2.0.21024.1838 12-09-2008 microsoft.windows.controls.dll
w32i的DLL - 77,824马力2.0.21024.1838 12-09-2008 microsoft.windows.controls.input.dll
w32i的DLL - 40,960马力2.0.21024.1838 12-09-2008 microsoft.windows.controls.theming.dll
C:\网状\ sltk \二进制文件\设计\ *
w32i的DLL - 2.0.21024.1838 SHP 387072 12-09-2008 microsoft.windows.controls.datavisualization.design.dll
w32i的DLL - 2.0.21024.1838 SHP 11,264 12-09-2008 microsoft.windows.controls.datavisualization.expression.design.dll
w32i的DLL - 13,824马力2.0.21024.1838 12-09-2008 microsoft.windows.controls.datavisualization.visualstudio.design.dll
w32i的DLL - 2.0.21024.1838 SHP 259584 12-09-2008 microsoft.windows.controls.design.dll
w32i的DLL - 2.0.21024.1838 SHP 10,752 12-09-2008 microsoft.windows.controls.expression.design.dll
w32i的DLL - 2.0.21024.1838 SHP 81,408 12-09-2008 microsoft.windows.controls.input.design.dll
w32i的DLL - 2.0.21024.1838 SHP 11,264 12-09-2008 microsoft.windows.controls.input.expression.design.dll
w32i的DLL - 2.0.21024.1838 SHP 11,264 12-09-2008 microsoft.windows.controls.input.visualstudio.design.dll
w32i的DLL - 2.0.21024.1838 SHP 48,640 12-09-2008 microsoft.windows.controls.theming.design.dll
w32i的DLL - 2.0.21024.1838 SHP 11,264 12-09-2008 microsoft.windows.controls.theming.expression.design.dll
w32i的DLL - 2.0.21024.1838 SHP 11,264 12-09-2008 microsoft.windows.controls.theming.visualstudio.design.dll
w32i的DLL - 2.0.21024.1838 SHP 11,264 12-09-2008 microsoft.windows.controls.visualstudio.design.dll

的名称和相应的运行时间和设计时间组件的位置是很重要的。 就拿microsoft.windows.controls.dll:

  • 其设计时组件必须被命名为microsoft.windows.controls.design.dll,microsoft.windows.controls.expression.dll,microsoft.windows.controls.visualstudio.dll。
  • 其设计时间组件必须是在相同的目录中运行时组件,或在一个子目录名为设计,这里的情况。
  • 与上述名称和位置安排,Blend是能够自动寻找并载入microsoft.windows.controls.design.dll和microsoft.windows.controls.expression.dll,并在该命令,而Visual Studio是能够找到并加载微软。windows.controls.design.dll和microsoft.windows.controls.visualstudio.dll,并在该命令。

Blend设计的时代特点

为了演示如何使用Silverlight工具包,其控制的设计时功能,让我们从Blend中创建一个新的Silverlight应用程序项目:

新的Silverlight应用程序项目

所有四个运行时组件添加引用:

添加引用...

弹出资源库,选择自定义控件“选项卡:

资产库,工具提示

  • 自定义控件的标签填充从四个Silverlight工具包运行时间组件的控制;
  • 每个控件都有一个提示,说明它是什么;
  • 点击控制,将它添加到选定的容器中,用正确的xmlns注册; 类别,工具提示
  • 每个属性有一个有用的工具提示,像上述MinimumPopulateDelay财产的工具提示显示其类型和单位(毫秒);
  • 我们添加新的类别(如为AutoCompleteBox自动完成物业类别以上)组自定义属性更好,而不是有他们所有的“杂项”类别下; 隐藏属性,共同特性的分类,自定义编辑器
  • 一些属性是隐藏的,像背景,前景,BorderBrush的对等Viewbox的上面;
  • 一些属性转移到公共属性类别,如儿童,弹力,Viewbox的上述StretchDirection;
  • 点击儿童财产的“新建”按钮会弹出“选择对象”对话框中,所有这些使WPF中存在,以及要尽可能为他们的WPF,就像运行时的​​经验,类似的Silverlight控件的设计时体验。

    Visual Studio设计时功能

    启动Visual Studio中右击项目在Blend和Visual Studio中的上下文菜单项,然后选择编辑:

    image_thumb31

    Visual Studio工具箱中添加Silverlight工具包控制:

  • 创建一个新的标签,并将其命名为Silverlight工具包,或任何你想要的: 添加选项卡“
  • 新的标签上点击右键,并选择“选择项... “选择项...
  • 选择Silverlight组件“选项卡,然后浏览...”按钮: 选择Silverlight组件
  • 导航到运行时组件,并添加一个其中之一: 图像
  • 下面是它看起来像后加入所有四个Silverlight工具包运行时间组件。 请注意:
    • 我添加了一个过滤器,只显示从Silverlight工具包组件的控制;
    • Microsoft.Windows.Control.Theming.dll没有任何控件被添加到Visual Studio工具箱,这样的错误对话框在选择Microsoft.Windows.Control.Theming.dll后预计和确定;
    • 我们揭露比混合,较小的一套Visual Studio的控件;
    • 您可以进一步取消它删除下面从Visual Studio工具箱中的一些控制:
      选择工具箱项

    加入Silverlight工具包控件工具箱后,我们可以看到如下:

    • 每个控制有一个很好的自定义图标;
    • 双击工具栏上的控件,将它添加到XAML光标是正确的xmlns登记,;
    • 属性“窗口和工具提示不工作,现在的Visual Studio为Silverlight XAML编辑器的限制; 自定义图标

    结论

    作为控制开发,我们服务于两类客户:

    • 开发谁使用我们开发Silverlight应用程序的控制。 对于开发商来说,我们需要提供:
      • 良好的运行时间的API(属性/方法/事件,类的继承和遏制等)和用户界面(控制合同,默认模板),使易于使用,定制,扩展和发展的控制;
      • 良好的设计时UI来提高开发人员的生产力;
      • 良好的文件,样本,教程,社会支持等;
    • 最终用户使用由开发商开发的应用程序的一部分控制。 对于最终用户,我们需要提供良好的用户界面(控制渲染,它的键盘和鼠标接口等):丰富,直观,一致,可靠,高性能,安全。

    因此,Silverlight工具包的设计时体验是我们的整体交付的重要组成部分。 这篇文章是在2008年12月发布的设计时功能的概述。 我会写跟进解释如何开发Blend和Visual Studio设计时功能的职位,并提供一些一般性的框架/代码,希望你可以使用自己的发展。

    一如既往,我们渴望听到您的反馈,并快速解决您的问题,并结合您的建议。 我们力争使Silverlight的最好的发展平台,使您的投资经验与Silverlight的最愉快的,富有成效和奖励! 谢谢!