开始 VS 2012 中LightSwitch系列的第6 部分: 框之外的事情,使用扩展自定义 LightSwitch应用程序

[原文发表地址] Beginning LightSwitch in VS 2012 Part 6: Go beyond the box. Customizing LightSwitch Apps with Extensions

[原文发表时间] 2012-08-15 18:05

欢迎来到 开始 Visual Studio 2012 中的LightSwitch 系列 的第6部分!在第1到第5部分中,我们创建了一个通讯簿应用程序,了解到了关于构建Visual Studio LightSwitch应用程序的主要部分--实体、 关系、 屏幕、 查询用户权限。 如果您错过了它们:

在这篇文章中我想谈一谈扩展。扩展允许您在LightSwitch框外做更多的事情。有着各种各样的扩展可以用于做各色事情。有着额外的主题和外壳可供您下载来更改用户界面中所有可视元素的颜色、 字体和样式。您还可以使用别出心裁的控件来直观显示您的数据、将其他的商务类型添加到您的实体设计器中,甚至还有扩展可以帮助您处理文档、 设计客户端报告,甚至自动化 Microsoft Office。这些扩展是由受信任的组件供应商以及全球社区提供的,大部分是免费的,有些是付费的。

您可以在Visual Studio库中的LightSwitch在线扩展浏览这些扩展。

Visual Studio LightSwitch 可扩展性

使之成为可能的原因是 LightSwitch 提供了整个可扩展性的框架,以便专业开发人员可以编写扩展来加强 LightSwitch 开发体验。如果您是精通代码、 专业的.NET 开发人员。那么您可以创建您自己的扩展。关于创建扩展的详细信息,请参阅LightSwitch 开发人员中心上的可扩展性部分。请记住扩展拥有Visual Studio的特定版本,所以如果此扩展不支持某个版本的 Visual Studio,然后当您尝试安装它时,它会通知您。

下载和启用扩展

幸运的是,使用扩展不需要铁杆程序员。它们很容易查找到并安装。只需从工具菜单栏中打开" Extensions and Updates(扩展和更新)..."。

image

一个窗口将弹出来,并显示您已安装的所有扩展。选择“Online Gallery(联机库)”选项卡来从Visual Studio 库中的所有扩展中选择。在筛选器中输入"LightSwitch"来查看 LightSwitch 扩展。

image

您也可以直接从Visual Studio 库中下载这些扩展。选择您想要的扩展,然后单击下载按钮来安装。

对于我们的通讯簿应用程序,我们想添加从 Excel 电子表格中导入联系人的功能。LightSwitch 具有内置功能来将网格中的所有数据导出到 Excel,但它缺少导入的功能。幸运的是 Office 集成包是一个具有此功能的免费扩展。如果您按受欢迎程度进行排序,您将在顶部附近看到它。我强烈推荐此扩展来与Office一起使用

在您下载和安装任何扩展之后,您需要在 LightSwitch每个项目的基础上使用它们。通过右击解决方案资源管理器中的该项目,选择" Properties(属性)"来打开项目属性。然后选择”Extensions(扩展)"选项卡来启用该扩展。

image

我们为我们的通讯簿应用程序启用了 Office 集成包扩展。此外,请注意此列表中有一个"Microsoft LightSwitch 扩展",它在新的项目中始终被启用并被使用。它附带在LightSwitch 安装中,包含了商务类型Email Address, Phone Number, Percent, Web Address, Money and Image,您可以像我们在第 1 部分中所做的一样使用它们定义您的数据实体。您永远不应该禁用它们。还有Cosmo主题和外壳,我们一直在本系列中为新项目使用该外观和感觉。

使用扩展

取决于您的扩展可以做的事情,您可以有不同的方式来使用它们。您将需要参阅该扩展的特定文档。几乎您可以直接拖动某些控件,并使用它们,而无需编写任何代码。Office 集成包使自动化Office变得超级简单,但我们需要编写一行代码来获取导入功能。(请参见本文档来了解您可以使用它来做的所有事情。)

为了能够从Excel 电子表格中上传联系人,像我们在第 3 部分中所做的一样,创建一个新的屏幕,并选择Editable Grid模板。然后选择联系人作为屏幕数据。在屏幕设计器中,展开屏幕命令栏,并添加一个新按钮。

image

将此按钮称为"ImportContacts(导入联系人)",然后单击OK

image

现在右击该按钮,然后选择" Edit Execute Code(编辑执行代码)"。

image

然后将这一行代码 (以粗体显示) 写入方法存根。

VB:

 Namespace LightSwitchApplication 
    Public Class EditableContactsGrid 
        Private Sub ImportContacts_Execute() 
            ' Write your code here. 
            OfficeIntegration.Excel.Import(Me .Contacts)  
        End Sub 
    End Class 
End Namespace

C#:

 namespace LightSwitchApplication 
{ 
    public partial class EditableContactsGrid 
    { 
        partial void ImportContacts_Execute() 
        { 
           // Write your code here. 
           OfficeIntegration.Excel.Import(this .Contacts);  
        } 
    } 
}

下一步,请确保您拥有权限来将联系人添加到系统中。请记住在第5部分中我们设置了一个权限来对此进行检查。进入该项目属性,并在Access Control(访问控制)选项卡上,请确保您已授予CanAddContacts用于调试。(通过将权限检查添加到按钮的 CanExecute 方法中,如果用户没有权限来添加联系人,您还可以以此禁用导入按钮。)

image

现在按F5来运行它。打开屏幕,然后单击导入联系人按钮。Office 集成包将会提示您选择一个电子表格,并询问您要如何将表格中的列映射到您的联系人实体的属性中。只需一行代码,太妙了。

image

总结

正如您所看到的,在 Visual Studio 2012 中,下载并启用LightSwitch 扩展是非常简单的,这些扩展可做各种各样的框外事情。LightSwitch 提供了一个完整的可扩展性模型,让社区可以创建所有类型的扩展来加强LightSwitch开发体验。如果您是一名精通代码的开发人员,您想要创建您自己的扩展,请前往Visual Studio 开发人员中心上的LightSwitch 可扩展性部分,然后阅读可扩展性文档

您还可以下载我们在这一系列文章中构建的完整示例应用程序

好了,这些就是我为开始Visual Studio 2012 中的LightSwitch系列 所准备的东西!我希望你们喜欢它,我希望它能帮助你们使用 Visual Studio 2012来开始构建自己的 LightSwitch 应用程序。至于更多LightSwitch培训,请参见Visual Studio 开发人员中心上的 LightSwitch 部分。特别地,我建议浏览我的"我如何做"视频。

希望大家喜欢 !