我在我的应用程序中使用了 WPToolkit 的 AutoCompleteBox。
XAML 如下 -
<toolkit:AutoCompleteBox Name="ACB" ValueMemberBinding="{Binding Name}" MinimumPrefixLength="0" IsTextCompletionEnabled="False" SelectionChanged="ACB_SelectionChanged">
<toolkit:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Name}"/>
<TextBlock Text="{Binding Color}"/>
</StackPanel>
</DataTemplate>
</toolkit:AutoCompleteBox.ItemTemplate>
</toolkit:AutoCompleteBox>
在以下情况下我需要帮助 -
上述 AutoCompleteBox 的 itemsource 是具有 2 个属性的类的对象列表 - 名称和颜色。
现在,当我在框中输入文本时,只需按名称过滤项目,它们就可以很好地过滤。但是,如果我选择该项目,则未正确选择。
案例如下——
假设有4个项目-
项目 1 - 名称 = “铅笔”,颜色 = “红色”
项目 2 - 名称 = “铅笔”,颜色 = “绿色”
项目 3 - 名称 = “橡皮擦”,颜色 = “红色”
项目 4 - 名称 = “橡皮擦”,颜色 = “绿色”
现在我在 AutoCompleteBox 中输入文本“pen”。然后显示前 2 个项目。但是,如果我选择绿铅笔,则会选择红铅笔。
也许是因为这两个项目的“名称”都是“铅笔”。但我需要管理这种情况。可以有 2 个项目具有相同的名称。但需要选择正确的。
我怎样才能做到这一点?我需要应用一些自定义过滤器吗?如果是这样,怎么做?