创建内容控件
内容控件 只有一个定义控件将显示的内容的内容属性。内容属性既可以是简单的文本字符串,也可以是复杂的 Microsoft .NET Framework 对象。如果向内容控件中添加一个版式面板控件,该面板控件就会成为可以添加多个子元素的内容,这样就可以避开单一内容元素的限制。
以下过程显示了如何创建内容控件 (Button) 并将其内容属性设置为版式面板 (StackPanel)。此过程也适用于 MSDN 上 ContentControl 类型(此链接可能指向英文页面)主题的“类型”下列出的其他内容控件。
说明: |
---|
Microsoft Silverlight 1.0 项目中不提供内容控件。然而,可以在“画布”版式面板中分层显示对象,将“TextBlock”对象放置在顶端,然后将该对象与 JavaScript 事件处理程序挂钩,以使“Canvas”元素的行为与按钮或其他内容控件类似。有关示例,请参阅在 Silverlight 应用程序中创建控制 Storyboard 的按钮。 |
创建内容控件
在 Microsoft Expression Blend 左侧的“工具箱”中,单击“资源库” 按钮。在“控件”选项卡中,单击“系统控件”(如果尚未将其选中),再从列表中选择“Button”。
“Button”控件的图标将显示在“资源库”按钮上方,并且处于选中状态以便您可以向美工板上添加“Button”。
提示: 最常用的用户界面 (UI) 元素(如“Button”控件)已显示在“资源库”按钮上方的下拉列表中,以便您可以快速添加这些元素。
若要向美工板上添加按钮,请双击“Button”控件的工具箱图标。Button 的默认内容是字符串“Button”。
按照默认大小和位置(左上角)在美工板上创建的 Button 对象
提示: 也可以通过在“工具箱”中选择一个控件,然后单击美工板并拖动鼠标以指定该控件的范围框,从而将该控件添加到美工板上。
提示: 将 UI 设计元素(如“Button”控件)添加到美工板上之后,该元素就会成为应用程序中的对象。
在“对象和时间线”下,双击“Button”对象以将其激活。请注意,该元素周围将显示黄色突出显示框。激活对象后即可向其中添加子元素。
提示: 也可以先从“工具箱”中选择“选择” 工具,然后双击美工板上的对象,从而将其激活。
在“工具箱”中,从“资源库”或一个常用控件下拉列表中选择“StackPanel” 控件。双击“StackPanel”控件的图标,将该控件作为子元素添加到按钮内。
“StackPanel”将取代“Button”对象的内容字符串。若要证实这一点,请选中“对象和时间线”下的“[Button]”,然后查看“属性”面板的“公共属性”类别中的“Content”属性。
在美工板上作为子元素添加到 Button 中的 StackPanel 对象
“StackPanel”设置的默认高度和宽度均为 100,而最小高度和最小宽度均为 0。为了使“StackPanel”更易于使用,请选中“对象和时间线”下的“[StackPanel]”,然后在“属性”面板的“布局”类别中,将“Width”更改为 150 像素(即设备无关单位,每单位约等于 1/96 英寸),将“Height”更改为 75 像素。请注意,按钮的大小会随着其子元素 (StackPanel) 大小的调整而自动调整。
提示: 也可以通过拖动范围框边角处的修饰工具,调整美工板上对象的大小。
在“对象和时间线”下仍旧选中“[StackPanel]”,将“属性”面板的“布局”类别中的“Orientation”属性设置为“Horizontal”,使“StackPanel”中的子元素水平堆叠。除非向“StackPanel”中添加项,否则此属性的更改不会影响“StackPanel”,因为该对象显示在美工板上。
在“对象和时间线”下,双击“[StackPanel]”对象以将其激活,以便可以添加子元素。
提示: 有些版式面板(如“StackPanel”和“Grid”)可以包含多个子元素,这一点与大多数 UI 元素有所不同。这对组织和布置应用程序设计方案的布局非常有用。有关详细信息,请参阅布局概述。
从“工具箱”中,选择“椭圆形” 工具,然后在美工板上的“StackPanel”内绘制圆形。接下来,从“工具箱”中选择“TextBox” 控件,并在“StackPanel”内绘制该对象。由于包含子元素的“StackPanel”是水平方向的,这些子元素将从左至右并排堆叠。如果要在子元素之间添加间距,可以在“属性”面板的“布局”类别中,调整这些元素的“Margin”属性。
添加到 StackPanel 对象中的子对象
生成项目 (F5) 以查看所得到的应用程序。