<Window x:Class="WpfApplication1.AttachedEvents" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Event Examples" Height="300" Width="300"> <Grid HorizontalAlignment="Center" VerticalAlignment="Center"> <Button> <Grid Mouse.PreviewMouseDown="PreviewMouseDownGrid" Mouse.MouseDown="MouseDownGrid"> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Ellipse x:Name="myEllipse" Canvas.Left="1" Canvas.Top="1" Width="16" Height="16" Fill="Yellow" Stroke="Black" /> <Ellipse Canvas.Left="4.5" Canvas.Top="5" Width="2.5" Height="3" Fill="Black" /> <Ellipse Canvas.Left="11" Canvas.Top="5" Width="2.5" Height="3" Fill="Black" /> <Path Data="M 5,10 A 3,3 0 0 0 13,10" Stroke="Black" /> <TextBlock Grid.Column="1">Click!</TextBlock> </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 AttachedEvents : System.Windows.Window { public AttachedEvents() { InitializeComponent(); } void PreviewMouseDownGrid( object sender, RoutedEventArgs e) { Debug.WriteLine("PreviewMouseDownGrid"); } void MouseDownGrid(object sender, RoutedEventArgs e) { Debug.WriteLine("MouseDownGrid"); } } }