动手试验:更改 SimpleListBox 中选定项的外观

此页仅适用于 WPF 项目

在 Microsoft Expression Blend 中,可以使用 SimpleListBoxItem 控件模板,轻松自定义列表框中选定项的外观。

更改 SimpleListBox 中选定项的外观

  1. 在 Expression Blend 美工板上绘制 SimpleListBox

    tip note提示:

    “资产”面板的“样式”类别中的“简单样式”下提供了简单样式控件。从列表中选择简单样式控件后,即可在美工板上进行绘制。

  2. 在“对象和时间线”面板中右键单击列表框,然后单击“添加 SimpleListBoxItem”,向列表框中添加一项。

  3. 在“对象和时间线”面板中右键单击某个列表框项,指向“编辑模板”,然后单击“编辑当前模板”。如果不希望更改 SimpleStyles.xaml 资源字典,则可以单击“编辑副本”(而不是“编辑当前模板”),以创建新模板并将其保存在文档中。

    有关创建副本的详细信息,请参阅创建资源

    tip note提示:

    若要退出模板编辑模式并返回到文档范围,请单击位于“对象和时间线”面板中对象树上方的“返回到范围”Cc295254.55844eb3-ed98-4f20-aa66-a6f5b23eeb2b(zh-cn,Expression.40).png

    若要返回到现有模板的模板编辑模式,请在“对象和时间线”面板中,右键单击要编辑其模板的对象,指向“编辑模板”,然后单击“编辑当前模板”。

  4. 在“触发器”面板中单击 IsSelected = True 。默认情况下,当选定某一项时,边框背景色将会更改,正如“触发器”面板中的“活动时的属性”下显示的一样。在“对象和时间线”面板中单击 Border ,然后在“属性”面板中的“画笔”下修改 Background 属性,可将背景改为不同的颜色。

    tip note提示:

    在“触发器”面板中选定属性触发器后,在 Expression Blend 中任何位置所做的任何编辑都将设置一个要在该触发器条件下更改的值。请确保在进行更改之前选择正确的触发器。如果希望所做的更改能够影响控件模板的默认状态,请单击“触发器”面板中的“默认值”。

  5. 若要向使用刚才修改的模板的列表框中添加更多项,可以单击“返回到范围”Cc295254.55844eb3-ed98-4f20-aa66-a6f5b23eeb2b(zh-cn,Expression.40).png 返回到文档的编辑范围,双击列表框对象将其激活,然后从“资产”面板的“样式”类别中添加自定义样式。

  6. 测试应用程序 (F5) 以查看效果。

使用 ItemContainerStyle 模板更改选定项的外观

  1. 在 Expression Blend 美工板上绘制 SimpleListBox

    tip note提示:

    “资产”面板的“样式”类别中的“简单样式”下提供了简单样式控件。从列表中选择简单样式控件后,即可在美工板上进行绘制。

  2. 在“对象和时间线”面板中双击列表框将其选定,然后在美工板上的列表框中绘制 RectangleCc295254.ae750268-92e8-403a-9e07-b662da4e9e1e(zh-cn,Expression.40).png 或其他控件,从而向列表框中添加一些项。或者,可以右键单击列表框对象,然后单击“添加 SimpleListBoxItem”。

    tip note提示:

    如果希望尝试通过数据绑定自动生成列表框的项,则可以按照动手试验:创建 RSS 新闻阅读器中的过程执行操作。

  3. 在“对象和时间线”面板中单击 ListBox 对象。在“对象”菜单上,指向“编辑其他样式”,指向“编辑 ItemContainerStyle”,然后单击“编辑副本”。

    此时,将显示“创建样式”窗口。在此过程中,请接受默认设置并单击“确定”。

    Expression Blend 将进入 ListBoxItem 的样式的编辑模式。

    若要了解有关“创建样式”窗口中的选项的详细信息,请参阅创建资源

  4. 模板封装在样式对象中,因此,若要编辑 ListBoxItem 的模板,请右键单击“对象和时间线”面板中的“Style”对象,指向“编辑模板”,然后单击“编辑当前模板”。

    Note注意:

    在此,请单击“编辑当前模板”而不是“编辑副本”,因为控件模板封装在样式对象中,并且已在步骤 3 中单击“编辑副本”来创建样式的副本。

    Expression Blend 将进入 ListBoxItemStyleTemplate (列表框中的每一项均使用此模板)的编辑范围。此模板中包含一个名为 BdBorder 对象、一个 ContentPresenter 对象和两个用于 IsSelected 状态的触发器。

  5. 在“触发器”面板中,单击其中一个 IsSelected 触发器以进入该触发器的记录模式,然后更改 Bd 对象的属性。

  6. 测试应用程序 (F5) 以查看效果。

另请参阅

概念

SimpleListBox 和 SimpleListBoxItem

Microsoft Corporation 版权所有 ⓒ 2011。保留所有权利。