【问题标题】:WPF Auto search combobox itemWPF 自动搜索组合框项
【发布时间】:2023-03-14 10:40:01
【问题描述】:

在 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 它将循环显示以 a 开头的所有项目。当我们连续按“B”时,我想要类似的行为。

【问题讨论】:

    标签: wpf search combobox


    【解决方案1】:

    Ioan Lazarciuc 在http://www.lazarciuc.ro/ioan/2008/06/01/auto-complete-for-textboxes-in-wpf/ 上有一篇很棒的文章,您可以使用它来模拟自动完成组合框。

    在您的特定情况下,您需要更改私有 void Suggest() 方法来搜索第一个字母。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-04
      • 1970-01-01
      • 2016-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 2015-03-13
      相关资源
      最近更新 更多