在WPF中,当我在组合框中键入一些文本时,它会突出显示以我输入的文本开头的项目。 此突出显示将搜索我在组合框中输入的整个文本。但我希望文本搜索只匹配第一个字母。怎么做?
示例代码重新创建问题:
XAML:
<Window x:Class="ComboTest.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<StackPanel>
<ComboBox x:Name="cb"></ComboBox>
</StackPanel>
</Window>
代码背后:
namespace ComboTest
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
cb.Items.Add("a");
cb.Items.Add("ab");
cb.Items.Add("abc");
cb.Items.Add("agsf");
cb.Items.Add("b1");
cb.Items.Add("b2");
cb.Items.Add("b3");
cb.Items.Add("b4");
cb.Items.Add("bbb");
cb.Items.Add("bbbbb");
cb.Items.Add("c4");
cb.Items.Add("c");
cb.Items.Add("c1");
cb.Items.Add("c2");
cb.Items.Add("cbb");
cb.Items.Add("cbd");
cb.Items.Add("d");
cb.Items.Add("de");
cb.Items.Add("df");
}
}
}
现在,运行解决方案,单击组合框打开弹出窗口并连续按下它将圈出所有以a开头的项目。当我们连续按下'B'时,我想要类似的行为。
答案 0 :(得分:1)
Ioan Lazarciuc在http://www.lazarciuc.ro/ioan/2008/06/01/auto-complete-for-textboxes-in-wpf/上发表了一篇很棒的文章,你可以用它来模拟一个自动完成的组合框。
在您的特定情况下,您需要更改私有的 Suggest()方法来搜索第一个字母。