如何:更改工作项窗体布局
更新:2007 年 11 月
您可以通过导出 XML 文件并修改其内容来更改工作项窗体布局。修改窗体布局后,就可以导入 XML 文件来开始使用更新的工作项类型了。
必需的权限
若要执行此过程,您必须是“Team Foundation Administrators”组的成员或项目的“Project Administrators”组的成员。有关更多信息,请参见 Team Foundation Server 权限。
更改表单布局
如果要修改单个项目上的工作项类型,请运行 witexport 以导出要修改的工作项类型的 XML 文件。有关更多信息,请参见如何:从现有项目中导出工作项类型。
在 Visual Studio 中,单击“文件”,单击“打开”,再单击“文件”。
这将显示“打开文件”对话框。
在“查找范围”之下,移动到您导出该文件的位置。
如果要修改工作项类型以自定义过程模板,移动到您下载该过程模板的位置。
说明: 如果您运行的是 Windows Vista,则可能无权访问某些文件夹。如果您尝试将工作项类型导出到您无权访问的位置,则注册表虚拟化技术将自动重定向导出的文件,并将其保存到虚拟存储区。有关更多信息,请参见 https://go.microsoft.com/fwlink/?LinkId=92325 和 https://go.microsoft.com/fwlink/?LinkId=92323。若要避免此重定向操作,可以将该文件导出到您有权访问的位置。
选择要更新的工作项类型 XML 文件,然后单击“打开”。出现有关行尾的提示时,单击“否”。
找到该 XML 文件的 <TabGroup> 部分。注意,该部分中有用于“Links”(链接)和“File Attachments”(文件附件)的 <Tab> 元素,其中每个 <Tab> 元素包含一个呈现各自的控件的 <Control> 元素。
<Tab Label="Links"> <Control Type="LinksControl" /> </Tab> <Tab Label="File Attachments"> <Control Type="AttachmentsControl" /> </Tab>
通过使用下面示例中所示的新 XML 替换上一步骤中所示的 XML,将两个 <Tab> 元素合并为一个同时包含两个控件的“Links and Attachments”(链接和附件)<Tab> 元素。
<Tab Label="Links and Attachments"> <Control Type="LinksControl" Label="Links" LabelPosition="Top" /> <Control Type="AttachmentsControl" Label="Attachments" LabelPosition="Top" /> </Tab>
找到描述了要修改的组(例如“Classification”组)的 <FORM>、<Layout> 定义部分。
<Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> </Column> </Group>
说明: 为获得最佳结果,每个 Control(控件)或 Group(组)应显示在一个 Column(列)中,即使该 Column 跨越整个窗体宽度也应如此。相应地,每个 Column 应该显示在一个 Group 中,即使该 Group 没有可见的标签或边界也应如此。
选择下面示例中突出显示的行,然后单击“编辑”菜单上的“复制”,以将此内容复制到剪贴板以便以后使用。
<Column PercentWidth="70"> <Group> <Column PercentWidth="100"> <Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> </Column> </Group> </Column> </Group> </Column>
删除下面的 XML 中以粗体文本显示的行,以将 Classification 组从它在窗体上的当前位置移除。
<Layout> <Group> <Column PercentWidth="70"> <Control Type="FieldControl" FieldName="System.Title" Label="&Title:" LabelPosition="Left" /> </Column> <Column PercentWidth="30"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Discipline" Label="&Discipline:" LabelPosition="Left" /> </Column> </Group> <Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="&Area:" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="&Iteration:" LabelPosition="Left" /> </Column> </Group>
在 <TabGroup> 部分,找到下列定义“Details”(详细信息)选项卡的行:
<Tab Label="Details"> <Group> <Column PercentWidth="50"> <Group Label="General"> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&ue:" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.ExitCriteria" Label="E&xit criteria:" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Build.IntegrationBuild" Label="Integration &build:" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.TaskHierarchy" Label="Task C&ontext:" LabelPosition="Left" ReadOnly="True" /> </Column> </Group> </Column> <Column PercentWidth="50"> <Group Label="Schedule"> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Label="Remaining &work (hours):" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Label="Com&pleted work (hours):" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.StartDate" Label="Start Dat&e:" LabelPosition="Left" ReadOnly="True" /> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.FinishDate" Label="&Finish Date:" LabelPosition="Left" ReadOnly="True" /> </Column> </Group> </Column> </Group> </Tab>
将剪贴板中的内容粘贴到以下位置,以将这些控件移至“Details”(详细信息)选项卡。
<Tab Label="Details"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> <Group> <Column PercentWidth="50"> <Group Label="General"> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&ue:" LabelPosition="Left" /> ...
进行下列更改(以粗体文本显示),以围绕被移动的字段创建分组并将字段划分为两列。
<Tab Label="Details"> <Group Label="Classification"> <Column PercentWidth="50"> <Group> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> </Column> </Group> </Column> <Column PercentWidth="50"> <Group> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" /> </Column> </Group> </Column> </Group> <Group> <Column PercentWidth="50"> <Group Label="General"> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&ue:" LabelPosition="Left" /> ...
在工具栏上单击“保存”将更改保存到该 XML 文件。
若要将新工作项类型导入单个项目中,请参见如何:将工作项类型导入现有项目。若要将工作项类型添加到过程模板中,请参见工作项类型。
验证导入到单个项目中的更改
在团队资源管理器中单击“刷新”,从服务器下载最新的更新。
这些更新包括您刚导入的更改。请等待几秒钟,直到加载了“工作项”节点。正在加载中的节点显示“正在工作”。
使用所修改的工作项类型创建新工作项。为完成此任务,请右击“工作项”节点,指向“添加工作项”,然后单击该工作项类型。
此工作项是从您已更改的工作项类型创建的。
请注意,Classification 组已不再在主窗体上。单击“Links and Attachments”选项卡和“Details”选项卡以查看所做更改的结果。
单击“关闭”以关闭这个新的工作项。提示您保存工作项时,请单击“否”。