在我自己的代码中使用事件处理程序的代码
Use Event Handler's code inside my own code
private void OnCarSelectionChanged(object sender, SelectionChangedEventArgs e)
{
Car tmpCar = (Car)CarLST.SelectedItem;
VinNumberTB.Text = tmpCar.VinNumber;
CarMakeTB.Text = tmpCar.CarMake;
CarTypeCB.SelectedIndex = (int)tmpCar.Type;
PurchasePriceTB.Text = tmpCar.PurchasePrice.ToString();
ModelYearCB.SelectedItem = tmpCar.ModelYear;
MileageTB.Text = tmpCar.Mileage.ToString();
CarIMG.Source = new BitmapImage(new Uri(String.Format("ms-appx:///Assets/CarImages/{0}.png", tmpCar.Type.ToString())));
}
这对应于列表框的 selectionChanged 事件处理程序。有没有一种方法可以在我的代码中使用它,就好像它是一种方法一样。例如
SelectionChanged(foo, bar);
基本上,有没有一种方法可以再次使用这段代码,而无需创建另一种方法来保存这些东西。
由于您不使用任何事件参数,您可以将代码提取到一个单独的方法中:
private void OnCarSelectionChanged(object sender, SelectionChangedEventArgs e)
{
UpdateDisplay();
}
private void UpdateDisplay()
{
Car tmpCar = (Car)CarLST.SelectedItem;
VinNumberTB.Text = tmpCar.VinNumber;
CarMakeTB.Text = tmpCar.CarMake;
CarTypeCB.SelectedIndex = (int)tmpCar.Type;
PurchasePriceTB.Text = tmpCar.PurchasePrice.ToString();
ModelYearCB.SelectedItem = tmpCar.ModelYear;
MileageTB.Text = tmpCar.Mileage.ToString();
CarIMG.Source = new BitmapImage(new Uri(String.Format("ms-appx:///Assets/CarImages/{0}.png", tmpCar.Type.ToString())));
}
然后单独调用你需要做的就是:
this.UpdateDisplay();
private void OnCarSelectionChanged(object sender, SelectionChangedEventArgs e)
{
Car tmpCar = (Car)CarLST.SelectedItem;
VinNumberTB.Text = tmpCar.VinNumber;
CarMakeTB.Text = tmpCar.CarMake;
CarTypeCB.SelectedIndex = (int)tmpCar.Type;
PurchasePriceTB.Text = tmpCar.PurchasePrice.ToString();
ModelYearCB.SelectedItem = tmpCar.ModelYear;
MileageTB.Text = tmpCar.Mileage.ToString();
CarIMG.Source = new BitmapImage(new Uri(String.Format("ms-appx:///Assets/CarImages/{0}.png", tmpCar.Type.ToString())));
}
这对应于列表框的 selectionChanged 事件处理程序。有没有一种方法可以在我的代码中使用它,就好像它是一种方法一样。例如
SelectionChanged(foo, bar);
基本上,有没有一种方法可以再次使用这段代码,而无需创建另一种方法来保存这些东西。
由于您不使用任何事件参数,您可以将代码提取到一个单独的方法中:
private void OnCarSelectionChanged(object sender, SelectionChangedEventArgs e)
{
UpdateDisplay();
}
private void UpdateDisplay()
{
Car tmpCar = (Car)CarLST.SelectedItem;
VinNumberTB.Text = tmpCar.VinNumber;
CarMakeTB.Text = tmpCar.CarMake;
CarTypeCB.SelectedIndex = (int)tmpCar.Type;
PurchasePriceTB.Text = tmpCar.PurchasePrice.ToString();
ModelYearCB.SelectedItem = tmpCar.ModelYear;
MileageTB.Text = tmpCar.Mileage.ToString();
CarIMG.Source = new BitmapImage(new Uri(String.Format("ms-appx:///Assets/CarImages/{0}.png", tmpCar.Type.ToString())));
}
然后单独调用你需要做的就是:
this.UpdateDisplay();