修改示例数据
您可以修改任何示例数据源的结构(或架构)以及值。不管示例数据是由 Microsoft Expression Blend 为您生成的还是从 XML 文件导入的,示例数据都存储在“SampleData”项目文件夹的子文件夹中。在“数据”面板中所做的任何修改都记录在“SampleData”文件夹内的文件中。这意味着,如果您导入 XML 文件,则可以使用以下过程来修改项目中的数据,而不会影响原始 XML 文件。
向示例数据中添加项
若要修改示例数据的架构,您可以向由 Expression Blend 生成或通过导入 XML 文件生成的初始数据集中添加更多属性。
在“数据”面板中,展开示例数据源,然后找到要向其中添加更多属性的节点。
提示: 您可以将属性添加到数据源的根位置、添加到集合属性,或添加到复杂属性。您可向其中添加属性的任何节点旁边将出现一个加号 。
单击加号 旁边的箭头,然后在出现的下拉菜单中,单击下列选项之一:
添加简单属性 使用此选项以添加字符串属性、数字属性、布尔属性或图像属性。默认情况下会添加字符串属性,但在创建了属性后,您可以单击“更改属性类型” 来选择其他类型。
添加复杂属性 使用此选项以创建可包含子属性的属性。例如,RSS 源通常表示一个使用复杂属性的频道,该属性的子属性包括类别、说明以及与该频道相关的新闻项的集合。
添加集合属性 使用此选项以创建记录集合,其中每条记录都可包含多个数据项。例如,RSS 源通常表示集合中的新闻项,该集合中的每条记录都包括新闻项的标题、说明以及其他相关信息。
提示: 可以嵌套集合以创建数据树。或者,您可以将现有集合属性转换为树。
有关详细信息,请参阅修改示例数据中的“创建递归数据树”。
新数据项出现时,其名称字段处于可编辑状态。如果要更改名称,请键入不同的名称并按 Enter。
向现有集合中添加字符串属性之后
从示例数据中删除项
在“数据”面板中,展开示例数据源,右键单击要删除的属性,然后单击“删除‘Item_name’”。
如果属性已绑定到美工板上的对象,则数据将不再会出现在对象中。
更改简单属性的类型
在“数据”面板中,展开示例数据源,找到要更改其类型的简单属性,然后单击“更改属性类型”。
在出现的弹出菜单中,单击“类型”旁边的下拉箭头,然后选择所需的数据类型:“字符串”、“数字”、“布尔”或“图像”。
属性的类型将更改,并且将生成新的示例数据。如果数据已显示在美工板上的对象中,该对象将不会更新以显示新生成的数据,直至您再次将数据拖到该对象上为止。
更改将为简单属性生成的数据
某些类型的简单属性(“字符串”、“数字”或“图像”)提供了自定义编辑器,以便您能够更改 Expression Blend 所生成的数据的各个方面。例如,您可以指定生成的数字的长度应为三位数(而不是两位数),或者可以指定生成的图像应来自特定文件夹。
在“数据”面板中,展开示例数据源,找到要更改其生成的数据的属性,然后单击“更改属性类型”。
在出现的弹出菜单中,修改显示在“类型”字段下方的各个字段。
新的示例数据会即时生成。如果数据已显示在美工板上的对象中,则会用新数据立即更新该对象。
更改字符串属性以生成电话号码(而不是随机文本)
更改图像属性以使用特定文件夹中的图像(而不是默认的椅子图像)
提示: 如果通过指定 Expression Blend 将从中获取示例图像的文件夹来更改图像数据属性,则该文件夹中的图像文件将被复制到 SampleData 项目文件夹中数据源文件夹的子文件夹中。
重命名数据属性(或列标题)
将集合拖到诸如“DataGrid”控件等控件上时,将使用架构中的属性名称作为美工板上列标题的标签。您可以在“数据”面板中更改架构属性的名称,但是,如果数据已显示在美工板上的 DataGrid 对象中,则必须更改列的“Header”属性。
在“数据”面板中,展开示例数据源,找到要更改其名称的属性,然后双击名称以使其可编辑。键入新名称并按 Enter。
现有的数据绑定将更新,以使用新的属性名称。
如果数据已在美工板上“DataGrid”对象的某一列中使用,请在“对象和时间线”面板中展开显示集合的“DataGrid”对象,展开“Columns”元素,然后选择要更改其名称的列。在“属性”面板中,找到“Header”属性,键入新名称,然后按 Enter。
手动更改示例数据值
您可以通过编辑包含数据的集合来手动更改数据。您可以更改生成的数据和从 XML 文件导入的数据,因为这两种形式的示例数据都存储在 SampleData 项目文件夹的文件中。
在“数据”面板中,展开示例数据源,找到要更改其数据的集合,然后单击“编辑示例值”。
在“编辑示例值”对话框中,修改生成的数据、生成的记录数量,或列中呈现的数据的类型。例如,双击图像以选择其他图像文件。
如果数据已显示在美工板上的对象中,则该对象将立即更新以显示新生成的数据。
创建递归数据树
默认情况下,在生成集合属性时,将创建一个平面数据集合。您可以在诸如 ListBox 和 DataGrid 控件等数据控件中使用平面集合。但是,您可能希望生成可显示在诸如 TreeView 控件等控件中的分层数据树。
在“数据”面板中,展开示例数据源,找到要将其结构从平面更改为分层的集合,单击加号 旁边的箭头,然后从出现的下拉菜单中,单击“转换为分层集合”。
平面集合即会转换为嵌套集合。第二层集合的名称将变为可编辑。
键入描述性名称,然后按 Enter。
现在即可将集合拖到“TreeView”对象或其他分层对象上以显示数据。
在更改数据之后更新对象
如果修改显示在美工板上某个对象中的示例数据项的值,则该对象将自动更新以显示新值。
但是,如果在数据集合中添加或删除属性,或者更改数据属性的类型,则显示对象将不会更新,因为这些更改操作修改的是数据的结构(或架构)。在更改显示的数据的结构时,您必须再次创建绑定。
在更改数据结构之后更新 ListBox 对象
- 从“数据”面板中,将要显示的项拖到“ListBox”对象上。
在更改数据结构之后更新 DataGrid 对象
在“对象和时间线”面板中,展开“DataGrid”对象下的“Columns”节点,然后删除与更新的数据相对应的列。
从“数据”面板中,将要显示的已修改集合属性拖到“DataGrid”对象上。
即会将一个新列添加到“DataGrid”对象的结尾,并在属性中显示数据。
如果要对“DataGrid”对象中的列进行重新排序,请在“对象和时间线”面板中的“Columns”节点下将列拖到不同的位置。