关于AutoCompleteBox的调研笔记

AutoCompleteBox就是输入文本时,根据当前输入的文本,自动补全。

Avalonia

Avalonia平台,本身就有提供AutoCompleteBox控件,直接使用即可。

https://docs.avaloniaui.net/zh-Hans/docs/reference/controls/autocompletebox

WPF

WPF本身并没有提供类似的控件。所以需要寻找第三方控件。

DotNetProjects.WpfToolkit.Input(推荐)

安装:

Install-Package DotNetProjects.WpfToolkit.Input

命名空间:

xmlns:toolkit="clr-namespace:System.Windows.Controls;assembly=DotNetProjects.Input.Toolkit"

使用示例:

<toolkit:AutoCompleteBox
    Grid.Column="1"
    Margin="6"
    ItemsSource="{Binding GroupItems}"
    SelectedItem="{Binding GroupName, Mode=TwoWay}" />

WPFTextBoxAutoComplete(不推荐)

安装:

Install-Package WPFTextBoxAutoComplete

命名空间:

xmlns:behaviors="clr-namespace:WPFTextBoxAutoComplete;assembly=WPFTextBoxAutoComplete"

基本用法:

<TextBox 
		Width="250"
		HorizontalAlignment="Center"
		Text="{Binding TestText, UpdateSourceTrigger=PropertyChanged}" 
		behaviors:AutoCompleteBehavior.AutoCompleteItemsSource="{Binding TestItems}" 
	/>

忽略大小写:

<TextBox 
		Width="250"
		HorizontalAlignment="Center"
		Text="{Binding TestText, UpdateSourceTrigger=PropertyChanged}" 
		behaviors:AutoCompleteBehavior.AutoCompleteItemsSource="{Binding TestItems}" 
		behaviors:AutoCompleteBehavior.AutoCompleteStringComparison="InvariantCultureIgnoreCase"
	/>

注:这个控件的问题是,如果选项里面有中文也有英文,不知道是不是输入法的问题,输入中文的过程中,会自动适配成英文的选项。

网址:https://github.com/Nimgoble/WPFTextBoxAutoComplete/

posted @ 2024-10-31 13:25  wzwyc  阅读(8)  评论(0编辑  收藏  举报