リストボックスとコンボボックスを備えたSilverlightページがあります...
ユーザーがリストボックスでクリックした内容に基づいて、ドロップダウンボックスにデータを入力します。完了したイベントは、リストボックスの各アイテムで同じです(アイテムには、「BaseTypes」、「Bays」、「Face」などが含まれます)
完成したメソッドをジェネリックにして、呼び出しごとに1つ持つ必要がないようにするにはどうすればよいですか?
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;
}
}
現在のところ、呼び出しごとに「completedメソッド」が必要ですが、すべて同じことを行うため(リストボックスアイテムのソースを設定するだけです)、単純化するために汎用的にしたいと思います。 。
void GetBaseTypesCompleted(object sender, getBaseTypesCompletedEventArgs e)
{
lstEdits.ItemsSource = e.Result;
}
void GetBaysCompleted(object sender, getBaysCompletedEventArgs e)
{
lstEdits.ItemsSource = e.Result;
}
前もって感謝します!