更改工作项窗体布局

通过导出 XML 文件并修改 FORM 节的内容,可以更改工作项窗体布局。 修改并导入 XML 文件之后,可以验证在更新的工作项类型中所做的更改。 可以进行的布局更改类型包括但不限于下面列出的情况:

  • 更改窗体上字段的标签或位置

  • 将字段组从一个选项卡移动到另一选项卡

  • 添加新选项卡或列

有关可以在工作项窗体中放置的控件的概述,请参见指定工作项窗体控件。 有关 FORM 节的顶级结构元素的概述,请参见 设计工作项窗体.

要求

若要执行此过程,您必须是**“Team Foundation Administrators (Team Foundation 管理员)”组的成员或项目的“Project Administrators (项目管理员)”**组的成员。 有关详细信息,请参阅Team Foundation Server 权限参考

导出并打开 WIT 定义文件

  • 基于所进行的自定义的范围,执行以下步骤之一:

    如果要修改单个项目的工作项类型

    1. 运行 witadmin exportwitd 导出要修改的工作项类型的 XML 文件。 有关详细信息,请参阅导入、导出和管理工作项类型 [witadmin]

    2. 在 Visual Studio 中打开该文件。

    如果要修改 WIT 以自定义过程模板

    1. 移至下载过程模板的位置。

    2. 打开 WIT XML 文件。

更改 FORM 部分的布局

  1. 找到该 XML 文件的 <TabGroup> 节。 请注意,该节中有用于“Links”(链接)和“File Attachments”(文件附件)的 <Tab> 元素,其中每个 <Tab> 元素包含一个呈现各自控件的 <Control> 元素。

    <Tab Label="Links">
      <Control Type="LinksControl" />
    </Tab>
    <Tab Label="File Attachments">
      <Control Type="AttachmentsControl" />
    </Tab>
    
  2. 通过使用下面示例中所示的新 XML 替换上一步骤中所示的 XML,可将两个 <Tab> 元素合并为一个同时包含两个控件的“链接和附件”<Tab> 元素:

    <Tab Label="Links and Attachments">
      <Control Type="LinksControl" Label="Links" LabelPosition="Top" />
      <Control Type="AttachmentsControl" Label="Attachments" LabelPosition="Top" />
    </Tab>
    
  3. 找到描述要修改的组(如 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(列)中,即使该列跨越整个窗体宽度也应如此。相应地,每列应该显示在一个组中,即使该组没有可见的标签或边界也应如此。

  4. 选择以下行并将其复制到剪贴板以便稍后使用。

    <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> 
    <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
    
  5. 从以下 XML 中删除以 <Group Label="Classification"> 开始并以 <Group> 结束的行,以便将 Classification 组从其窗体上的当前位置移除。

    <Layout>
      <Group>
        <Column PercentWidth="70">
          <Control Type="FieldControl" FieldName="System.Title" Label="&amp;Title:" LabelPosition="Left" />
        </Column>
        <Column PercentWidth="30">
          <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Discipline" Label="&amp;Discipline:" LabelPosition="Left" />
        </Column>
      </Group>
      <Group Label="Classification"> 
        <Column PercentWidth="100"> 
          <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="&amp;Area:" LabelPosition="Left" /> 
          <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="&amp;Iteration:" LabelPosition="Left" /> 
        </Column> 
      </Group>
    
  6. 在 <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&amp;ue:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.ExitCriteria" Label="E&amp;xit criteria:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Build.IntegrationBuild" Label="Integration &amp;build:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.TaskHierarchy" Label="Task C&amp;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 &amp;work (hours):" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Label="Com&amp;pleted work (hours):" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.StartDate" Label="Start Dat&amp;e:" LabelPosition="Left" ReadOnly="True" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.FinishDate" Label="&amp;Finish Date:" LabelPosition="Left" ReadOnly="True" />
            </Column>
          </Group>
        </Column>
      </Group>
    </Tab>
    
  7. 若要将这些控件移至**“详细信息”**选项卡,请在 <Tab Label="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&amp;ue:" LabelPosition="Left" />
    ...
    
  8. 进行以下更改以围绕移动的字段创建分组并将字段划分为两列:

    <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&amp;ue:" LabelPosition="Left" />
    ...
    
  9. 保存更改。

  10. 若要将新工作项类型导入单个项目中,请参见导入、导出和管理工作项类型 [witadmin]。 若要将工作项类型添加到过程模板中,请参见向过程模板添加工作项的类型定义

验证网页或 HTML 内容是否显示在工作项窗体中

  1. 在团队资源管理器中,选择**“刷新”**以从服务器下载最新的更新。

    这些更新包括您刚导入的更改。 请等待几秒钟,直到加载了“工作项”节点。 正在加载中的节点显示**“正在工作”**。

  2. 使用所修改的工作项类型创建新工作项。

    请注意,Classification 组已不再在主窗体上。 在**“链接和附件”选项卡上,选择“详细信息”**选项卡以查看所做更改的结果。

请参见

参考

导入、导出和管理工作项类型 [witadmin]

概念

设计工作项窗体

指定工作项窗体控件