我有一个填充了List的WPF自动完成框,其中包含重复项。 现在,当选择一个项目时,我需要获取索引,以便我想要唯一地标识选择了哪个项目。我不能单独通过自动完成框中的文本,因为它们是重复的,因此需要与选定的索引一起使用。
看起来很简单但我无法找到解决方案。我看到有一个
autocompletebox.selecteditem
对于上述情况,我无法获得任何结果。请建议。
答案 0 :(得分:0)
自动完成框的所选项目没有索引。
因此解决方案是在您的代码逻辑中管理。
当我遇到一个问题时,我必须选择第一个可用项目,当自动完成框显示多个产品并且用户想要搜索可用的产品时,我就会这样做。
第一种情况是显示所有产品的列表,让他搜索并选择产品。所以这里用户将输入产品名称(可能在自动完成框中重复)
因此,您可以搜索所有产品的列表。但现在搜索时,首先循环浏览列表并查找是否正在搜索多次出现的产品名称。
foreach (var products in ListofAllProducts)
{
if (Products.ProductName.ToString() == productname)
{
i=i+1;
tempproducts.Add(products );
}
}
现在,您可以通过查看客户名称
找到第一个可用项目 foreach (var product in ListofAllProducts)
{
if (i == 1)
{
if (Product.ProductName== productname)
{
return product;
}
}
else
{
foreach (var product in ListofAllProducts)
{
if (int.Parse(product .CustomerID)==0)
{
return product ;
}
}
return tempproducts[0];
}
}
return null;
}