我正在尝试检索WorkItem(MS Agile 5模板)的有效原因列表,该列表适用于新工作项。
但是,对于编辑现有工作项,AllowedValues始终为空,无论状态如何。
WorkItem item = GetItem(...)
item.Fields["Reason"].AllowedValues.ToList() // always empty
(ToList
是我自己的扩展方法)。
问题是,当您在下拉列表中更改状态时,Visual Studio UI会正确更新“原因”列表。
“原因”字段也有IsLimitedToAllowedValues=false
但是当您输入一个仲裁值时,它会抱怨它不是有效的列表项。
答案 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());
}
}
}