我目前正试图将两个集合合并为一个用于绑定到组合框。我第一次开始在一个类中建立两个静态集合:如何在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,用户2该服务的结果,用户3
我创建一个查询,以服务为:
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的,所以使用复合集合方法似乎不是一个选项,因为该类不受支持。
在此先感谢
如果它帮助你解决问题,请将其标记为答案。 – 2010-08-16 18:40:57