gpt4 book ai didi

c# - SL4 AutoCompleteBox 重复过滤结果问题

转载 作者:太空狗 更新时间:2023-10-29 23:34:30 26 4
gpt4 key购买 nike

我在使用 AutoCompleteBox 过滤时遇到问题。

好像是想起了之前的滤镜。

例如,我输入“A”,它返回 1 个项目。我删除“A”并输入“Z”,它应该返回 1 个项目。

问题是它返回“A”过滤器加上“Z”的结果,我删除“Z”并键入“S”,这会返回 2 个项目,它现在显示所有 3 个过滤器的结果。

我做错了什么吗?

stockTypes.Add(new StockTypeDTO() { Description = "Steel Coil", StockCode = "SC" });
stockTypes.Add(new StockTypeDTO() { Description = "Palletised Steel Coil", StockCode = "PS" });
stockTypes.Add(new StockTypeDTO() { Description = "ZZZZZ", StockCode = "ZZ" });


<input:AutoCompleteBox x:Name="testauto" FilterMode="Custom">
<input:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<ContentPresenter Content="{Binding Description}" />
</StackPanel>
</DataTemplate>
</input:AutoCompleteBox.ItemTemplate>
</input:AutoCompleteBox>

testauto.ItemsSource = this.StockTypes;

testauto.ItemFilter = (search, item) =>
{
StockTypeDTO stockType = item as StockTypeDTO;

if (stockType != null)
{
string filter = search.ToUpper(CultureInfo.InvariantCulture);
return (stockType.StockCode.ToUpper(CultureInfo.InvariantCulture).Contains(filter)
|| stockType.Description.ToUpper(CultureInfo.InvariantCulture).Contains(filter));
}

return false;
};

最佳答案

此外,显示了之前的结果,但就像它们不存在一样对待,对吗?我的意思是,选择它们不会改变自动完成框的值?我遇到了同样的问题,更改样式后得到它。在我的情况下,这是因为 ListBox 的风格。如果您正在为列表框使用自定义样式,请尝试将其删除并使用默认样式。

关于c# - SL4 AutoCompleteBox 重复过滤结果问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5141529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com