TFS API - 为什么'原因'的AllowedFieldValues为空?

时间:2011-09-22 10:57:17

标签: api tfs2010

我正在尝试检索WorkItem(MS Agile 5模板)的有效原因列表,该列表适用于新工作项。

但是,对于编辑现有工作项,AllowedValues始终为空,无论状态如何。

WorkItem item = GetItem(...)
item.Fields["Reason"].AllowedValues.ToList() // always empty

ToList是我自己的扩展方法)。

问题是,当您在下拉列表中更改状态时,Visual Studio UI会正确更新“原因”列表。

“原因”字段也有IsLimitedToAllowedValues=false但是当您输入一个仲裁值时,它会抱怨它不是有效的列表项。

1 个答案:

答案 0 :(得分:1)

我们也使用MS Agile 5&以下工作正常对名为myWorkItem的现有工作项(我尝试使用用户故事和任务):

 FieldDefinitionCollection fdc = myWorkItem.Type.FieldDefinitions;
 Console.WriteLine(myWorkItem.Type.Name);
 foreach (FieldDefinition fd in fdc)
 {
    if(fd.Name == "Reason")
    {
      AllowedValuesCollection avc = fd.AllowedValues;
      foreach (string allowedValue in avc)
      {
        Console.WriteLine(allowedValue.ToString());
      }
    }                     
 }