创建内容控件

此页适用于 WPF 和 Silverlight 2

内容控件 只有一个定义控件将显示的内容的内容属性。内容属性既可以是简单的文本字符串,也可以是复杂的 Microsoft .NET Framework 对象。如果向内容控件中添加一个版式面板控件,该面板控件就会成为可以添加多个子元素的内容,这样就可以避开单一内容元素的限制。

以下过程显示了如何创建内容控件 (Button) 并将其内容属性设置为版式面板 (StackPanel)。此过程也适用于 MSDNContentControl 类型(此链接可能指向英文页面)主题的“类型”下列出的其他内容控件。

Cc295336.alert_note(zh-cn,Expression.10).gif说明:

Microsoft Silverlight 1.0 项目中不提供内容控件。然而,可以在“画布”版式面板中分层显示对象,将“TextBlock”对象放置在顶端,然后将该对象与 JavaScript 事件处理程序挂钩,以使“Canvas”元素的行为与按钮或其他内容控件类似。有关示例,请参阅在 Silverlight 应用程序中创建控制 Storyboard 的按钮

创建内容控件

  1. 在 Microsoft Expression Blend 左侧的“工具箱”中,单击“资源库”Cc295336.0224cabd-5da1-4e01-bddd-4a647401a098(zh-cn,Expression.10).png 按钮。在“控件”选项卡中,单击“系统控件”(如果尚未将其选中),再从列表中选择“Button”Cc295336.05df1779-a68f-436b-b834-a91b7995a3ec(zh-cn,Expression.10).png

    “Button”控件的图标将显示在“资源库”按钮上方,并且处于选中状态以便您可以向美工板上添加“Button”。

    Cc295336.alert_tip(zh-cn,Expression.10).gif提示:

    最常用的用户界面 (UI) 元素(如“Button”控件)已显示在“资源库”按钮上方的下拉列表中,以便您可以快速添加这些元素。

  2. 若要向美工板上添加按钮,请双击“Button”控件的工具箱图标。Button 的默认内容是字符串“Button”。

    按照默认大小和位置(左上角)在美工板上创建的 Button 对象

    Cc295336.38211dc1-69d4-46bd-acd2-d7f9b48102bb(zh-cn,Expression.10).png

    Cc295336.alert_tip(zh-cn,Expression.10).gif提示:

    也可以通过在“工具箱”中选择一个控件,然后单击美工板并拖动鼠标以指定该控件的范围框,从而将该控件添加到美工板上。

    Cc295336.alert_tip(zh-cn,Expression.10).gif提示:

    将 UI 设计元素(如“Button”控件)添加到美工板上之后,该元素就会成为应用程序中的对象。

  3. 在“对象和时间线”下,双击“Button”对象以将其激活。请注意,该元素周围将显示黄色突出显示框。激活对象后即可向其中添加子元素。

    Cc295336.alert_tip(zh-cn,Expression.10).gif提示:

    也可以先从“工具箱”中选择“选择”Cc295336.2ff91340-477e-4efa-a0f7-af20851e4daa(zh-cn,Expression.10).png 工具,然后双击美工板上的对象,从而将其激活。

  4. 在“工具箱”中,从“资源库”或一个常用控件下拉列表中选择“StackPanel”Cc295336.ec58af86-cc2a-4e1f-91c0-883c5406fdfb(zh-cn,Expression.10).png 控件。双击“StackPanel”控件的图标,将该控件作为子元素添加到按钮内。

    “StackPanel”将取代“Button”对象的内容字符串。若要证实这一点,请选中“对象和时间线”下的“[Button]”,然后查看“属性”面板的“公共属性”类别中的“Content”属性。

    在美工板上作为子元素添加到 Button 中的 StackPanel 对象

    Cc295336.fb639649-9e46-4aef-960f-d0b40e9e8aff(zh-cn,Expression.10).png

  5. “StackPanel”设置的默认高度和宽度均为 100,而最小高度和最小宽度均为 0。为了使“StackPanel”更易于使用,请选中“对象和时间线”下的“[StackPanel]”,然后在“属性”面板的“布局”类别中,将“Width”更改为 150 像素(即设备无关单位,每单位约等于 1/96 英寸),将“Height”更改为 75 像素。请注意,按钮的大小会随着其子元素 (StackPanel) 大小的调整而自动调整。

    Cc295336.alert_tip(zh-cn,Expression.10).gif提示:

    也可以通过拖动范围框边角处的修饰工具,调整美工板上对象的大小。

  6. 在“对象和时间线”下仍旧选中“[StackPanel]”,将“属性”面板的“布局”类别中的“Orientation”属性设置为“Horizontal”,使“StackPanel”中的子元素水平堆叠。除非向“StackPanel”中添加项,否则此属性的更改不会影响“StackPanel”,因为该对象显示在美工板上。

  7. 在“对象和时间线”下,双击“[StackPanel]”对象以将其激活,以便可以添加子元素。

    Cc295336.alert_tip(zh-cn,Expression.10).gif提示:

    有些版式面板(如“StackPanel”和“Grid”)可以包含多个子元素,这一点与大多数 UI 元素有所不同。这对组织和布置应用程序设计方案的布局非常有用。有关详细信息,请参阅布局概述

  8. 从“工具箱”中,选择“椭圆形”Cc295336.d7a04618-e35a-44f9-b78c-1f22e38016c1(zh-cn,Expression.10).png 工具,然后在美工板上的“StackPanel”内绘制圆形。接下来,从“工具箱”中选择“TextBox”Cc295336.343296b4-5c7d-4145-84cc-91b08ba67a1b(zh-cn,Expression.10).png 控件,并在“StackPanel”内绘制该对象。由于包含子元素的“StackPanel”是水平方向的,这些子元素将从左至右并排堆叠。如果要在子元素之间添加间距,可以在“属性”面板的“布局”类别中,调整这些元素的“Margin”属性。

    添加到 StackPanel 对象中的子对象

    Cc295336.12af719b-02a4-4334-801d-9dedeebec030(zh-cn,Expression.10).png

  9. 生成项目 (F5) 以查看所得到的应用程序。