Вы можете сделать что-то вроде этого:
Button btn = new Button();
btn.Name = "BTN" + i.ToString(); //just to be sure you can distinguish between them
btn.Click += new EventHandler(btn_Click);
И добавить обработчик по умолчанию для всех кнопок:
void btn_Click(object sender, RoutedEventArgs e)
{
Button btn = (Button)sender;
MessageBox.Show("You have clicked button number " + btn.Name);
}