TFS自定义工作项中的UI问题

时间:2011-02-28 15:11:21

标签: tfs

我们创建了新的TFS工作项。过了一段时间,我们开始遇到控件UI布局的问题。 (附有屏幕截图作为示例)。控件之间的空间非常大。如果我们重新运行查询 - 一切都变好了。再次运行后,布局再次损坏。

使用此答案建议的方式修改UI布局:Is it possible to customize "History" tab for Bug/Task work item types?

Image here

这是什么原因以及如何解决?!

已编辑:已添加布局

<FORM>
  <Layout>
    <Group Label="General" Margin="(1,1,1,1)">
      <Column FixedWidth="100">
        <Control FieldName="Custom.IssueType" Type="FieldControl" Label="Issue Type:" LabelPosition="Left" />
        <Control FieldName="Custom.Priority" Type="FieldControl" Label="Priorit&amp;y:" LabelPosition="Left" />
      </Column>
      <Column PercentWidth="100">
        <Group Margin="(2,2,2,2)">
          <Column PercentWidth="100">
            <Control FieldName="System.Title" Type="FieldControl" Label="&amp;Title:" LabelPosition="Left" />
          </Column>
        </Group>
        <Group Margin="(2,2,2,2)">
          <Column PercentWidth="50">
            <Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="&amp;Area:" LabelPosition="Left" />
          </Column>
          <Column PercentWidth="50">
            <Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="&amp;Iteration:" LabelPosition="Left" />
          </Column>
        </Group>
      </Column>
    </Group>
    <Group Margin="(1,1,1,1)">
      <Column PercentWidth="70">
        <Group Label="Status" Margin="(1,1,1,1)">
          <Column PercentWidth="50">
            <Control FieldName="System.State" Type="FieldControl" Label="&amp;State:" LabelPosition="Left" />
            <Control FieldName="System.AssignedTo" Type="FieldControl" Label="Assi&amp;gned to:" LabelPosition="Left" />
          </Column>
          <Column PercentWidth="50">
            <Control FieldName="System.Reason" Type="FieldControl" Label="&amp;Reason:" LabelPosition="Left" />
            <Control FieldName="Custom.CustomerIssue" Type="FieldControl" Label="&amp;Customer Issue:" LabelPosition="Left" />
          </Column>
        </Group>
      </Column>
      <Column FixedWidth="400">
        <Group Label="Details" Margin="(1,1,1,1)">
          <Column PercentWidth="50">
            <Control FieldName="Custom.FoundInBuild" Type="FieldControl" Label="&amp;Found in build:" LabelPosition="Left" />
            <Control FieldName="Custom.ResolvedInBuild" Type="FieldControl" Label="Resolved in &amp;build:" LabelPosition="Left" />
          </Column>
          <Column PercentWidth="50">
            <Control FieldName="Custom.HelpAuthoring" Type="FieldControl" Label="Help Authoring:" LabelPosition="Left" />
            <Control FieldName="Custom.RankInt" Type="FieldControl" Label="Ran&amp;k:" LabelPosition="Left" NumberFormat="WholeNumbers" MaxLength="10" />
          </Column>
        </Group>
      </Column>
    </Group>
    <TabGroup Margin="(1,1,1,1)">
      <Tab Label="Content">
        <Group>
          <Column PercentWidth="50">
            <Control FieldName="System.Description" Type="HtmlFieldControl" Label="Des&amp;cription:" LabelPosition="Top" Dock="Fill" />
          </Column>
          <Column PercentWidth="50">
            <Control FieldName="System.History" Type="WorkItemLogControl" Label="&amp;History:" LabelPosition="Top" Dock="Fill" />
          </Column>
        </Group>
      </Tab>
      <Tab Label="Links">
        <Control Type="LinksControl" LabelPosition="Top" />
      </Tab>
      <Tab Label="File Attachments">
        <Control Type="AttachmentsControl" LabelPosition="Top" />
      </Tab>
      <Tab Label="Misc.">
        <Group>
          <Column PercentWidth="50">
            <Group Label="">
              <Column PercentWidth="50">
                <Group Label="Estimated Time">
                  <Column PercentWidth="100">
                    <Control FieldName="Custom.EstimatedTimeTotal" Type="FieldControl" Label="Total:" LabelPosition="Left" />
                    <Control FieldName="Custom.EstimatedTimeLeft" Type="FieldControl" Label="Left:" LabelPosition="Left" />
                  </Column>
                </Group>
              </Column>
              <Column PercentWidth="50">
                <Group Label="Other">
                  <Column PercentWidth="100">
                    <Control FieldName="Custom.Localization" Type="FieldControl" Label="Localization:" LabelPosition="Left" />
                    <Control FieldName="Custom.Rebrand" Type="FieldControl" Label="Rebrand:" LabelPosition="Left" />
                  </Column>
                </Group>
              </Column>
            </Group>
          </Column>
        </Group>
      </Tab>
    </TabGroup>
  </Layout>
</FORM>

1 个答案:

答案 0 :(得分:1)

我想到的一件事是在工作项定义XML的FORM部分,确保设置了Column sizes。我们在描述和历史记录的列上使用PercentWidth =“50”。我确实注意到,当我忽略设置时,我们遇到了类似的问题。

如果您只在特定工作项上看到这种情况,则可能与数据大小或数据存在有关。从WorkItem发布FORM部分后,会更容易分辨。

- 编辑 -

查看您的FORM部分显示了很多FixedWidth和PercentWidth的混合。我注意到这可能会导致显示混乱。

例如,在第一个组(常规)中,您将一列设置为固定宽度100,将第二列设置为百分比宽度100%。尝试将每个设置为PercentWidth =“50”。

与您的第二组类似,您的第一列(包含“状态”组)设置为70%宽度,第二列设置为固定宽度400.

我注意到,当这些布局类型混合时,表单渲染器会出现问题。