我有一个Silverlight页面,一个列表框和组合框...通用异步完成方法
基于列表框中用户点击,我想填充dropdownbox什么。完成的事件对列表框中的每个项目都是相同的(项目包括“BaseTypes”,“Bays”,“Face”等)
如何使通用的完成方法不必每个电话一个?
private void lstEdits_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ServiceCylinderClient obj = new ServiceCylinderClient();
obj.GetBaysCompleted += new EventHandler<GetBaysCompletedEventArgs>(GetBaysCompleted(this, baysEventArgs));
string selectedItem = lstEdits.SelectedItem as string;
switch selectedItem
{
case "BaseTypes":
obj.GetBaseTypesCompleted += new EventHandler<GetBaseTypesCompletedEventArgs>(GetBaysCompleted(this, baysEventArgs));
obj.getGetBaseTypesAsync();
break;
case "Bays":
obj.GetBaysCompleted += new EventHandler<GetBaysCompletedEventArgs>(GetBaysCompleted(this, baysEventArgs));
obj.getGetBaysAsync();
break;
}
}
目前的情况是,我将不得不为每个呼叫的“完整的方法”,但因为他们都做同样的事情(只要设置列表框中的项目源)..我想使其通用以简化事情。
void GetBaseTypesCompleted(object sender, getBaseTypesCompletedEventArgs e)
{
lstEdits.ItemsSource = e.Result;
}
void GetBaysCompleted(object sender, getBaysCompletedEventArgs e)
{
lstEdits.ItemsSource = e.Result;
}
在此先感谢!