Mega Code Archive

 
Categories / C# / WPF
 

Halting event routing with Handled

<Window x:Class="WpfApplication1.HaltingEvents"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="Halting Events" Height="300" Width="300">   <Grid HorizontalAlignment="Center" VerticalAlignment="Center">     <Button PreviewMouseDown="PreviewMouseDownButton"     MouseDown="MouseDownButton">       <Grid PreviewMouseDown="PreviewMouseDownGrid"             MouseDown="MouseDownGrid">         <Grid.ColumnDefinitions>           <ColumnDefinition />           <ColumnDefinition />         </Grid.ColumnDefinitions>         <Canvas PreviewMouseDown="PreviewMouseDownCanvas"                 MouseDown="ButtonDownCanvas"                 Width="20" Height="18" VerticalAlignment="Center">           <Ellipse PreviewMouseDown="PreviewMouseDownEllipse"                    MouseDown="MouseDownEllipse"                    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" />         </Canvas>         <TextBlock Grid.Column="1">Click!</TextBlock>       </Grid>     </Button>   </Grid> </Window> //File:Window.xaml.cs using System; using System.Windows; using System.Diagnostics; namespace WpfApplication1 {     public partial class HaltingEvents : System.Windows.Window     {         public HaltingEvents()         {             InitializeComponent();         }         void ButtonDownCanvas(object sender, RoutedEventArgs e)         {             Debug.WriteLine("ButtonDownCanvas");             e.Handled = true;         }         void PreviewMouseDownButton(object sender, RoutedEventArgs e)         { Debug.WriteLine("PreviewMouseDownButton"); }         void MouseDownButton(object sender, RoutedEventArgs e)         { Debug.WriteLine("MouseDownButton"); }         void PreviewMouseDownGrid(           object sender, RoutedEventArgs e)         { Debug.WriteLine("PreviewMouseDownGrid"); }         void MouseDownGrid(object sender, RoutedEventArgs e)         { Debug.WriteLine("MouseDownGrid"); }         void PreviewMouseDownCanvas(object sender, RoutedEventArgs e)         { Debug.WriteLine("PreviewMouseDownCanvas"); }         void PreviewMouseDownEllipse(object sender, RoutedEventArgs e)         { Debug.WriteLine("PreviewMouseDownEllipse"); }         void MouseDownEllipse(object sender, RoutedEventArgs e)         { Debug.WriteLine("MouseDownEllipse"); }     } }