WPF - 自动建议文本作为人物键入文本框控件

Unk*_*der 6 wpf autocomplete

在WPF中为文本框实现自动建议功能的最佳方法是什么?我发现了各种复杂(和旧)的文章,有些还建议有一个控件可用于此(但它不在我当前的WPF工具包中).当用户输入文本框时,实现自动建议的最新/最佳方法是什么?

lev*_*ovd 2

第一种方法是使用 ComboBox,因为它已经具有这样的功能。您可以使用它的文本搜索功能。要启用此功能,请使用以下代码(抱歉,它又快又脏):

<ComboBox ItemsSource="{Binding AutoSuggestionVariants}">
    <ComboBox.ItemContainerStyle>
        <Style TargetType="{x:Type ComboBoxItem}">
            <Setter Property="TextSearch.Text" Value="{Binding}" />
        </Style>
    </ComboBox.ItemContainerStyle>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

另外,如果您需要它,您可以重新设计组合框的样式,使其看起来像文本框(删除按钮和弹出列表)。

另一种方法是使用 CollectionView。本文介绍如何对组合框执行与 TextSearch 相同的功能。我认为你可以将这个想法应用到文本框中。

希望能帮助到你。