В настоящее время я пытаюсь объединить две коллекции в одну для привязки к комбинированному списку.Сначала я начал с двух статических коллекций, построенных внутри класса:
public partial class MainPage : UserControl
{
//create static observable collection
private ObservableCollection<string> items;
public ObservableCollection<string> Items
{
get
{
return this.items;
}
set
{
if (this.items != value)
{
this.items = value;
}
}
}
protected ObservableCollection<string> StaticItems
{
get
{
return new ObservableCollection<string>() { "Select User", "Select All" };
}
}
//create dynamic observable collection
public MainPage()
{
InitializeComponent();
this.items = this.StaticItems;
this.comboBox1.ItemsSource = this.Items;
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
foreach (var item in GetDynamicItems())
{
this.Items.Add(item);
}
}
private List<string> GetDynamicItems()
{
return new List<string>() { "User1", "User2", "User3" };
}
Вышеописанное работает как нужно.Теперь я хотел бы инициировать запрос к службе и добавить в коллекцию результаты этой службы вместо User1, USer2, USer3
Я создаю запрос к службе как:
private void FillOfficerList()
{
QueryClient qc = new QueryClient("BasicHttpBinding_IQuery");
qc.GetOfficerNamesCompleted += new EventHandler<GetOfficerNamesCompletedEventArgs>(qc_GetOfficerNamesCompleted);
qc.GetOfficerNamesAsync();
}
public void qc_GetOfficerNamesCompleted(object sender, GetOfficerNamesCompletedEventArgs e)
{
// Now how do I add e.Results to above collection?
}
Запрос работает. Я просто застрял на том, как взять результаты (e.Results) и связать / связать их с коллекцией Items.Будем благодарны за любые указатели или подсказки.
Примечание. Это для Silverlight, поэтому использование метода составных коллекций не представляется возможным, поскольку класс не поддерживается.
Заранее спасибо