多选,自动完成组合框在wpf中

时间:2015-06-23 12:07:21

标签: wpf combobox autocomplete

我能够使用复选框来实现多选组合框。但是如果组合框中的项目超过600,则无效,因为用户需要通过组合框中的所有项目进行选择。所以我想添加自动完成功能也有特色。但是想知道这是否可能在wpf.Please建议。谢谢提前。

1 个答案:

答案 0 :(得分:1)

如果不确切知道如何填充您的Combo并进行多项选择,这至少应该作为如何启用文本搜索和自动完成的示例:

    <ComboBox IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True">
        <ComboBoxItem TextSearch.Text="Thing">
            <ComboBoxItem.Content>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="30" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>

                    <CheckBox Grid.Column="0" />
                    <TextBlock Grid.Column="1" Text="Thing" />
                </Grid>
            </ComboBoxItem.Content>
        </ComboBoxItem>
        <ComboBoxItem TextSearch.Text="Stuff">
            <ComboBoxItem.Content>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="30" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>

                    <CheckBox Grid.Column="0" />
                    <TextBlock Grid.Column="1" Text="Stuff" />
                </Grid>
            </ComboBoxItem.Content>
        </ComboBoxItem>
    </ComboBox>

通过使用TextSearch.Text(或TextSearch.TextPath),您可以定义希望Combo用于搜索,过滤和自动填充用户输入的文本。

通过设置IsEditable="True",您可以允许用户输入文本并进行文本搜索。使用StaysOpenOnEdit="True",用户将能够看到他正在寻找的项目,并在需要时单击其CheckBox。最后,IsTextSearchEnabled="True"显然可以启用文本搜索。