<StackPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="WpfApplication1.RoutedEventAddRemoveHandler" Name="root"> <StackPanel.Resources> <Style TargetType="{x:Type Button}"> <Setter Property="Height" Value="20"/> <Setter Property="Width" Value="250"/> <Setter Property="HorizontalAlignment" Value="Left"/> </Style> </StackPanel.Resources> <TextBlock Name="text1">Clicking the button below</TextBlock> <Button Name="b1" Click="MakeButton">Make new button and add handler to it</Button> </StackPanel> //File:Window.xaml.cs using System.Windows; using System.Windows.Controls; namespace WpfApplication1 { public partial class RoutedEventAddRemoveHandler { void MakeButton(object sender, RoutedEventArgs e) { Button b2 = new Button(); b2.Content = "New Button"; root.Children.Insert(root.Children.Count, b2); DockPanel.SetDock(b2, Dock.Top); text1.Text = "click me..."; b1.IsEnabled = false; } } }