如何:向 Silverlight 屏幕添加自定义控件

您可以将 Silverlight 控件添加到 LightSwitch 屏幕。通过使用 Silverlight 控件,可以以超过内置 LightSwitch 控件能力的方式来显示或收集信息。

您可以使用 Silverlight 运行时和 Silverlight SDK 中包含的控件。您还可以使用通过使用 Silverlight 项目模板创建的控件,例如 Visual Studio 2010 中可用的控件。两种控件在 LightSwitch 中都称为自定义控件。

有关如何使用 Visual Studio 中的 Silverlight 项目模板创建自定义控件的信息,请参见 Control Basics (Silverlight QuickStart)(控件基础知识(Silverlight 快速入门))。

添加新控件和替换现有控件

您可以将自定义控件添加到屏幕,作为新的控件或现有 LightSwitch 控件的替代控件。

向屏幕添加自定义控件

  1. 在**“屏幕内容树”**中,选择任意组。

  2. Screen Designer (屏幕设计器) 顶部,单击 Add Layout Item (添加布局项目),然后单击 Custom Control (自定义控件)

  3. Add Custom Control (添加自定义控件) 对话框中,展开程序集节点,展开命名空间节点,然后选择控件节点。

    如果想要的程序集没有出现在 Add Custom Control (添加自定义控件) 对话框中,则单击 Add Reference (添加引用)。在 Add Reference (添加引用) 对话框中,选择一个包含要使用的控件的程序集或本地项目,然后单击 OK (确定)

    说明说明

    如果已通过使用 Visual Studio 中的 Silverlight 项目模板创建了此控件,又通过修改该控件的 XAML 将该控件绑定到数据,则不需要执行下面的步骤。有关如何通过修改控件的 XAML 将自定义控件绑定到数据的更多信息,请参见 Using Custom Controls to Enhance Your LightSwitch Application UI(使用自定义控件增强您的 LightSwitch 应用程序 UI)。如果自定义控件是内置的 Silverlight 控件,或者如果已通过使用 Visual Studio 中的 Silverlight 项目模板创建了此控件,但想要通过使用 LightSwitch 将该控件绑定到数据,则继续下一步。

  4. Specify the data for the new custom control (指定新的自定义控件的数据) 字段中,输入要将其绑定到该控件的屏幕数据名称,然后单击 OK (确定)

    例如,想要自定义列表框显示名称为 CustomerSet、类型为 CustomerSet 的集合中的名称。如果要该控件显示当前选中的客户的名字,则输入 CustomerSet.SelectedItem.ContactName。

  5. 添加将数据绑定到该控件的指定属性的代码。有关更多信息,请参见在本文档后面部分的将数据绑定到自定义控件的属性。

使用自定义控件来替换现有控件

  1. Screen Content Tree (屏幕内容树) 中,在要替换的控件旁边的下拉列表中,选择 Custom Control (自定义控件)

  2. Properties (属性) 窗口中,在 Custom Control (自定义控件) 字段旁边,单击 Change (更改)

  3. Add Custom Control (添加自定义控件) 对话框中,展开程序集节点,展开命名空间节点,选择控件节点,然后单击 OK (确定)

    如果包括控件的程序集没有出现在 Add Custom Control (添加自定义控件) 对话框中,则单击 Add Reference (添加引用)。在 Add Reference (添加引用) 对话框中,选择一个包含要使用的控件的程序集或本地项目,然后单击 OK (确定)

  4. 添加将数据绑定到该控件的指定属性的代码。有关更多信息,请参见在本文档后面部分的将数据绑定到自定义控件的属性。

将数据绑定到自定义控件的属性

您必须将您在 Add Custom Control (添加自定义控件) 对话框中指定的数据绑定到该自定义控件的特定属性。

将数据绑定到自定义控件的属性

  1. Screen Designer (屏幕设计器) 中,单击 Write Code (编写代码) 按钮旁边的箭头,然后单击任意方法。

    说明说明

    选择在您希望数据在运行时出现在控件中之前执行的方法,例如,CustomerListDetail_Activated

    方法块会出现在代码编辑器中。

  2. 在该方法块中,添加将该屏幕数据绑定到该自定义控件的属性的代码。

    下面的示例引用名为 Customers 的自定义列表框控件。此代码将在 Add Custom Control (添加自定义控件) 对话框中指定的数据集合绑定到该列表框的特定属性。此代码还指定数据可通过使用此控件进行修改。

    Private Sub CustomersListDetail_Activated()
        Me.FindControl("Customers").SetBinding( _
            System.Windows.Controls.ListBox.ItemsSourceProperty, _
                    "Value", System.Windows.Data.BindingMode.TwoWay)
    End Sub
    
    partial void CustomersListDetail_Activated()
    {
        this.FindControl("Customers").SetBinding(
            System.Windows.Controls.ListBox.ItemsSourceProperty,
            "Value", System.Windows.Data.BindingMode.TwoWay);
    }
    

请参见

任务

如何:向 Silverlight 屏幕添加自定义控件

如何:使用屏幕设计器设计 Silverlight 屏幕

如何:向屏幕添加数据

如何:向 Silverlight 屏幕添加局部属性

如何:向 Silverlight 屏幕添加自定义命令

概念

屏幕设计器教程