There was a situation that developers want to add controls to canvas according to some arguments. So some codes as below.


Button checkBtn = new Button();

checkBtn.Click += new RoutedEventHandler(checkBtn_Click);

Canvas.SetLeft(checkBtn, 405);

Canvas.SetTop(checkBtn, interval * (i - 1));

canvasName.Children.Add(checkBtn);

By the way, you can do something based on event caller


private void checkBtn_Click(object sender, RoutedEventArgs e)

{

Button b = e.OriginalSource as Button;

}

Oh, some implementation in practice like this app(Go_Dutch) I made.