WPF自动完成框:搜索重复项目时选择的项目索引

时间:2013-11-27 07:25:24

标签: c# wpf

我有一个填充了List的WPF自动完成框,其中包含重复项。 现在,当选择一个项目时,我需要获取索引,以便我想要唯一地标识选择了哪个项目。我不能单独通过自动完成框中的文本,因为它们是重复的,因此需要与选定的索引一起使用。

看起来很简单但我无法找到解决方案。我看到有一个

autocompletebox.selecteditem 

对于上述情况,我无法获得任何结果。请建议。

1 个答案:

答案 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;           
    }