В настоящее время я пытаюсь объединить две коллекции в одну для привязки к combobox. Я сначала начал с двух статических коллекций, построенных в пределах одного класса:Как объединить две наблюдаемые коллекции в коллекции Silverlight
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" };
}
Вышеупомянутые работы при желании. Что я хотел бы сделать сейчас, чтобы initate запрос к сервису и иметь результаты этой службы, приложенном к коллекции вместо Пользователя1, 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, поэтому использование подхода с коллективными коллекциями не представляется возможным, поскольку класс не поддерживается.
Заранее спасибо
Отметьте это как ответ, если это поможет решить эту проблему. –