c # поиск в текстовом поле из списка - PullRequest
0 голосов
/ 07 июня 2018

У меня есть текстовое поле и список с именами людей.Я хочу ввести имя в текстовое поле, и оно должно обновить информацию списка.Но я не знаю, как это сделать.Как мне это сделать?

Я бы хотел отфильтровать строки списка, когда что-то написано в текстовом поле.

Код MainWindow.xaml:

<ListBox HorizontalAlignment="Left" Height="127" ItemsSource="{Binding Persons}" Name="PersonLstbox"
             Margin="10,22,0,0" VerticalAlignment="Top" Width="197">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBlock Text="{Binding FirstName}" />
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

Код текстового поля:

<TextBox Name="searchpersonbx" HorizontalAlignment="Left" Height="23" Margin="420,150,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" TextChanged="searchpersonbx_TextChanged"/>

MainWindow.xaml.cs код:

    private void searchpersonbx_TextChanged(object sender, TextChangedEventArgs e)
    {

    }

1 Ответ

0 голосов
/ 07 июня 2018

Вы можете изменить свой код, как показано ниже: -

Здесь я использовал StartsWith(), чтобы получить все строки в указанном порядке

ваш список имен пользователей

List<string> userName = new List<string>();

Событие TextChanged

private void searchpersonbx_TextChanged(object sender, TextChangedEventArgs e)
{
   string text = searchpersonbx.Text;
   List<string> filteredUserName = userName.Select(x => x.StartsWith(text)).ToList();
   listBox.ItemsSource = filteredUserName;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...