<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="AddHandler" Height="300" Width="300"> <Grid HorizontalAlignment="Center" VerticalAlignment="Center"> <Button> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Canvas Width="20" Height="18" VerticalAlignment="Center"> <Ellipse x:Name="myEllipse" Canvas.Left="1" Canvas.Top="1" Width="16" Height="16" Fill="Yellow" Stroke="Black" /> </Canvas> </Grid> </Button> </Grid> </Window> //File:Window.xaml.cs using System; using System.Windows; using System.Diagnostics; using System.Windows.Shapes; using System.Windows.Input; namespace WpfApplication1 { public partial class Window1 : System.Windows.Window { public Window1() { InitializeComponent(); myEllipse.AddHandler(Ellipse.MouseDownEvent,new MouseButtonEventHandler(MouseDownEllipse)); myEllipse.AddHandler(Ellipse.PreviewMouseDownEvent,new MouseButtonEventHandler(PreviewMouseDownEllipse)); } void PreviewMouseDownEllipse(object sender, RoutedEventArgs e){ Debug.WriteLine("PreviewMouseDownEllipse"); } void MouseDownEllipse(object sender, RoutedEventArgs e){ Debug.WriteLine("MouseDownEllipse"); } } }