WPF Tips: 高亮显示在listbox中第一个与textbox内容匹配的项
在textbox中输入内容,同时在listbox中高亮以目前textbox内容开头的项。
public String SearchText
{
get;
set;
}
public Window_Selection() { InitializeComponent(); InitBinding(); } private void InitBinding() { this.ListBox.ItemsSource = Executor.MyList; this.TextBox_Name.DataContext = this; } private void TextBox_Name_TextChanged(object sender, TextChangedEventArgs e) { //search in listbox, SearchText DoSearch(this.TextBox_Name.Text); } private void DoSearch(string text) { this.ListBox.SelectedValue = Executor.MyList .Find(p => p.StartsWith(text,StringComparison.OrdinalIgnoreCase)); this.ListBox.ScrollIntoView(this.ListBox.SelectedValue);//使listbox滚动到高亮项 }
<TextBox x:Name="TextBox_Name" Grid.Row="1" VerticalAlignment="Top" HorizontalAlignment="Stretch" Text="{Binding Path=SearchText}" TextChanged="TextBox_Name_TextChanged"/>