In one of my previous blog post , I shared a sample sourecode that binds List of String as ItemSOurce for the AutoCompleteBox .
In this Blog post , i will share the sample sourcecode on how to bind an object to the ItemSource property of the AutoCompleteBox in Windows Phone .
DataBinding Custom Objects to AutoCompleteBox in Windows Phone
Just set the ValueMemberBinding property of the AutoCompleteBox to the Property of the Class like below
ValueMemberBinding=”{Binding Actor}”
where Actor is the Property of the Class “Movie”
public class Movie
{
public string Name { get; set; }
public string Actor { get; set; }
}Also , create a Text Block inside the Item Template of the AutoCompleteBox and Set its Text property to Bind to the Actor Property
The XAML code of the AutoCompleteBox will look like this
<toolkit:AutoCompleteBox FilterMode="StartsWith" Name="autoCompleteBox1" ValueMemberBinding="{Binding Actor}" Margin="0,0,6,561">
<toolkit:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Actor}" />
</StackPanel>
</DataTemplate>
</toolkit:AutoCompleteBox.ItemTemplate>
</toolkit:AutoCompleteBox>Now , set the ItemsSource property of the AutoCompleteBox with the List of Movie .
List<Movie> Lst = new List<Movie>();
Lst.Add(new Movie { Name = "Velayutham", Actor = "Vijay" });
Lst.Add(new Movie { Name = "Nanban", Actor = "Vijay" });
Lst.Add(new Movie { Name = "Yohan", Actor = "Vijay" });
Lst.Add(new Movie { Name = "Billa 2", Actor = "Ajith" });
Lst.Add(new Movie { Name = "Maatran", Actor = "Surya" });
autoCompleteBox1.ItemsSource = Lst;Run the Windows Phone App , you should see the actor names in the suggestions as and when you type the text in the AutoCompleteBox
1 Comment
Nice post… Helpful. Thank you.!