AutoCompleteTextBox In WPF

AutoCompleteTextBox is a part of WPF Toolkit. If you do not have Toolkit installed, click here to learn how to download and install WPF Toolkit.

In this article I am going to show AutoCompleteTextBox in WPF.

AutoCompleteTextBox mean when we type something to search in a textbox to get a small list of valid search results that match the search string entered so far. In this article I am using Linq to Sql to get data from a database. I have saved my database in the DATA folder.

To run the application just add this database and change connection string from setting inside properties folder.
See in this image.

WTImg2.JPG 
Image 1.
Just change here DataSource according to you server name.

This is my DataTable from which records are coming.

WTImg1.JPG 
Image 2.
This is my XAML code. 
  1. <Window x:Class="AutoCompleteTextBoxInWPF.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="250" Width="350">  
  2.     <Grid Background="AliceBlue">  
  3.         <Grid.RowDefinitions>  
  4.             <RowDefinition Height="40" />  
  5.             <RowDefinition Height="203" />  
  6.         </Grid.RowDefinitions>  
  7.         <TextBlock Text="Search :" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="70" Height="15.96" Margin="31,0,0,4" />  
  8.         <TextBox HorizontalAlignment="Right" VerticalAlignment="Bottom" Height="25" Width="160" Margin="0,0,10,0" x:Name="txtName" TextWrapping="NoWrap" SelectionChanged="txtName_SelectionChanged" />  
  9.         <ListBox x:Name="listName" SelectionChanged="listName_SelectionChanged" Background="LightCyan" Grid.Row="1" Visibility="Collapsed" HorizontalAlignment="Right" VerticalAlignment="Top" Width="160" Margin="0,0,10,0" />  
  10.     </Grid>  
  11. </Window>  
When we run the application and want to search names start with letter "r", you will see all names start with r are loaded.

WTImg3.JPG 
Image 3. 
If we type character "E", then the textbox will show all names starting with this character.

WTImg4.JPG 
Image 4.
Summary

The source code attached with article demonstrates how to use an AutoComplete TextBox in WPF.