创建带标题控件

此页适用于 WPF 和 Silverlight 2

带标题控件 具有一个用于为控件添加标签的标题属性。标题属性既可以是简单的文本字符串,也可以是复杂的 Microsoft .NET Framework 对象。带标题控件还可显示内容或项目集合,具体取决于所使用的带标题控件的类型。例如,“TabControl”内的“TabItem”是一个带标题内容控件,而“ToolBar”和“MenuItem”均是带标题项目控件。

以下过程说明了如何在项目控件 (TabControl) 内创建带标题内容控件(TabItem 控件)。此过程也适用于 MSDNHeaderedContentControl 类型(此链接可能指向英文页面)主题的“类型”下列出的其他带标题内容控件。带标题项目控件在 MSDN 上的 HeaderedItemsControl 类型(此链接可能指向英文页面)中列出。

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

Microsoft Silverlight 1.0 项目中不提供带标题控件。但是,可以分层显示包含“TextBlock”对象的“画布”版式面板,然后与 JavaScript 事件处理程序挂钩,以使这些项目根据用户所单击的选项卡而显示或消失。有关 JavaScript 的信息,请参阅 Silverlight 脚本编写和鼠标事件(此链接可能指向英文页面)。

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

安装有 service pack 1 的 Microsoft Expression Blend 2 并未随附 Silverlight 2 版本的带标题控件。不过,Microsoft Silverlight Tools for Visual Studio(此链接可能指向英文页面)中包含的 Silverlight 2 SDK 附带了包含“TabControl”等带标题控件的程序集。有关如何在项目中包含程序集的信息,请参阅通过添加引用来导入自定义控件

创建带标题内容控件

  1. 在 Microsoft Expression Blend 左侧的“工具箱”中,单击“资源库”Cc295310.0224cabd-5da1-4e01-bddd-4a647401a098(zh-cn,Expression.10).png 按钮。在“控件”选项卡中,单击“系统控件”(如果尚未将其选中),然后从列表中选择“TabControl”Cc295310.f13847cd-7fdf-4757-a648-d5ece98fcaea(zh-cn,Expression.10).png 控件。

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

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

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

  2. 若要向美工板上添加按钮,请双击“TabControl”控件的工具箱图标。默认情况下,“TabControl”包含两个“TabItem”对象。

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

    Cc295310.b5763b4e-3032-468e-bbdf-42057fd0cb08(zh-cn,Expression.10).png

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

    如果需要,可以向“TabControl”中添加其他“TabItem”对象。在“对象和时间线”下,双击“TabControl”对象以将其激活。在“工具箱”中,从“资源库”(选中“全部显示”复选框)中选择“TabItem”控件。双击“TabItem”控件的图标,将该控件作为子元素添加到“TabControl”中。

  3. 在美工板上,通过拖动右下角的调整大小图柄,增大选项卡控件。指针将变为双向箭头 Cc295310.7d350cd4-6d4f-40bc-9d04-d46d2d54ebee(zh-cn,Expression.10).png 以指示调整大小操作。使“TabControl”足够大,以便可以在顶部显示三个选项卡。

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

    或者,可以在“属性”面板的“布局”类别中设置“Height”和“Width”属性,调整“TabControl”的大小。

  4. 若要命名某个“TabItem”对象,请在“对象和时间线”下选择该对象,然后在“属性”面板的“公共属性”类别中,为“Header”属性键入一个名称。例如,将第一个“TabItem”对象命名为“员工信息”。

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

    或者,可以将其他控件(如“Image”控件)用作“TabItem”的标题。在“对象和时间线”下,展开“TabItem”对象,然后双击“Header”对象以将其激活。可以从“工具箱”或“文件”面板中添加“Image”控件。

  5. 若要向某个“TabItem”对象中添加内容,请在“对象和时间线”下双击该对象以将其激活。

  6. 在“工具箱”中,双击“StackPanel”Cc295310.ec58af86-cc2a-4e1f-91c0-883c5406fdfb(zh-cn,Expression.10).png 以将“StackPanel”添加到“TabItem”中。“TabItem”的内容属性将从默认的“Grid”对象变为“StackPanel”对象。

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

    内容属性只能包含一个项目。将面板控件(如“StackPanel”或“Grid”)用作内容属性中的一个项目会非常有用,因为可以向该面板控件中添加多个项。

  7. 在“对象和时间线”下,双击“StackPanel”对象以将其激活。此时,可以根据需要向“TabItem”中添加任意多个元素。例如,可以从“工具箱”中添加“TextBlock”或“ListBox”控件。

    添加到 TabControl 对象中的子对象

    Cc295310.f20233a8-3a71-46a5-863b-57a0f5b54f0b(zh-cn,Expression.10).png

  8. 如果要为整个“TabControl”添加边框和标题,则可以使用另一个带标题内容控件“GroupBox”。在“对象和时间线”下激活“LayoutRoot”对象,从“资源库”中选择“GroupBox”控件,然后使用鼠标在美工板上绘制该控件,使其略大于“TabControl”。

  9. 若要使“TabControl”成为“GroupBox”的子元素,请在“对象和时间线”下将“TabControl”拖至“GroupBox”处。

    将 TabControl 拖至 GroupBox 处

    Cc295310.bbfefd21-01bb-4725-bfb0-30e55de6c4df(zh-cn,Expression.10).png

  10. 通过在“对象和时间线”下选择“GroupBox”,然后在“属性”面板的“公共属性”类别中更改“Header”属性,可以更改该对象的标题。

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

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

    有关包含对“ListBox”中选定的项目做出反应的代码的完整示例,请参阅 MSDN 上的 GroupBox 示例(此链接可能指向英文页面)。该示例代码包含在 Windows SDK .NET Framework 3.0 示例(此链接可能指向英文页面)中提供的“WPFSamples.exe”程序包中。