Статьи

Использование пользовательских объектов в RadAutoCompleteBox для Windows Phone

В одной из моих предыдущих публикаций в блоге я рассказал о RadAutoCompleteBox, показывающем, как отображать предложения с использованием списка строк.

У меня было требование привязать пользовательские объекты к списку предложений к RadAutoCompleteBox, и мне потребовалась помощь команды поддержки Telerik, чтобы это сделать.

Проще говоря, команда поддержки Telerik супер.

Чтобы связать пользовательские бизнес-объекты, необходимо выполнить 3 шага

1. Установите источник предложений в список пользовательских объектов

2. Установите FilterKeyPath

3. Создайте SuggestionItemTemplate и DataTemplate и привяжите свойство, которое должно отображаться как предложение.

Ниже приведен пример исходного кода, который использует пользовательские объекты для отображения предложения.

<telerikInput:RadAutoCompleteBox Height="70" HorizontalAlignment="Left" Margin="17,31,0,0" Name="radAutoCompleteBox1" Text=""
VerticalAlignment="Top" Width="429" FilterKeyPath="Name"  >
<telerikInput:RadAutoCompleteBox.SuggestionItemTemplate>
<DataTemplate>                   �
<TextBlock Text="{Binding Name}"/>               �
</DataTemplate>               �
</telerikInput:RadAutoCompleteBox.SuggestionItemTemplate>           �
</telerikInput:RadAutoCompleteBox>
public partial class MainPage : PhoneApplicationPage   �
{       �
// Constructor       �
public MainPage()       �
{           �
InitializeComponent();           �
radAutoCompleteBox1.SuggestionsSource = Data.GetSuggestions();       �
}    �
}   �
public class Employee   �
{       �
public string Name       �
{           �
get;           �
set;       �
}

public string ID       �
{           �
get;           �
set;       �
}

}   �
public static class Data   �
{       �
public static List<Employee> GetSuggestions()       �
{           �
List<Employee> Names = new List<Employee>();           �
Names.Add(new Employee { Name = "Vijay", ID = "1" });           �
Names.Add(new Employee { Name = "Senthil", ID = "2" });           �
Names.Add(new Employee { Name = "Surya", ID = "3" });           �
Names.Add(new Employee { Name = "Norton", ID = "4" });           �
Names.Add(new Employee { Name = "Sandy", ID = "5" });           �
Names.Add(new Employee { Name = "Saravan", ID = "6" });           �
Names.Add(new Employee { Name = "Sunil", ID = "7" });           �
 return Names;       �
}   �
}