如何在ListView中获得选中的项目到文本框

本文关键字:项目 文本 ListView | 更新日期: 2023-09-27 18:10:00

如何在ListView中获得选定的项目到文本框?

private void txtautosgn_TextChanged(object sender, TextChangedEventArgs e)
{
    if (txtautosgn.Text.Length > 1)
    {
        var names = (from autonames in lstDetails
                     where autonames.name.Contains(txtautosgn.Text.Trim())
                     select autonames.name).ToList();
        if (names.Count > 1)
        {
            lstnames.Items.Clear();
            lstnames.Visibility = Visibility.Visible;
            foreach (string name in names)
            {
                lstnames.Items.Add(name);
            }
            lstnames.SelectedIndex = 0;
        }
        else
        {
            lstnames.Visibility = Visibility.Collapsed;
        }
    }
}

如何在ListView中获得选中的项目到文本框

在您的方法中,不是在ListView中添加Item,而是将其ItemsSource设置为:

    var names = (from autonames in lstDetails
                 where autonames.name.Contains(txtautosgn.Text.Trim())
                 select autonames.name).ToList();
    if (names.Count > 1)
    {
        lstnames.Items.Clear();
        lstnames.Visibility = Visibility.Visible;
        lstnames.ItemsSource = names;
        lstnames.SelectedIndex = 0;
    }
    else
    {
        lstnames.Visibility = Visibility.Collapsed;
    }

在Xaml中,您可以将ListviewSelectedItem绑定到Textbox作为

 <Grid>
    <TextBox Text="{Binding SelectedItem, ElementName=lstnames}"></TextBox>
    <ListView x:Name="lstnames"></ListView>
 </Grid>