Bubbling and Tunneling Events<p>Hi,</p> <p>I'm running the following XAML:</p><font color="#0000ff" size=2> <p>&lt;</font><font color="#800000" size=2>Window</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>x:Class</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Controls.Window1</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>xmlns</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>http://schemas.microsoft.com/winfx/2006/xaml/presentation</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>xmlns:x</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>http://schemas.microsoft.com/winfx/2006/xaml</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>Title</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Controls</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Height</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>300</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Width</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>300</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p>&gt;</p> <p>&lt;</font><font color="#800000" size=2>WrapPanel</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;</font><font color="#800000" size=2>Button</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>x:Name</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>button</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>PreviewMouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>PreviewA</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>MouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>A</font><font size=2>&quot;</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;</font><font color="#800000" size=2>Grid</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>PreviewMouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>PreviewB</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>MouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>B</font><font size=2>&quot;</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;</font><font color="#800000" size=2>WrapPanel</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;</font><font color="#800000" size=2>Ellipse</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Fill</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Blue</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Margin</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>5</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Width</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>25</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Height</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>25</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Stroke</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Black</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>HorizontalAlignment</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Center</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>VerticalAlignment</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Center</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>PreviewMouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>PreviewC</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>MouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>C</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p>/&gt;</p> <p>&lt;</font><font color="#800000" size=2>TextBlock</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Margin</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>5</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>HorizontalAlignment</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Center</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>VerticalAlignment</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Center</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>FontSize</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>14</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Text</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Click Me!</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>PreviewMouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>PreviewD</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>MouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>D</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p>/&gt;</p> <p>&lt;/</font><font color="#800000" size=2>WrapPanel</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;/</font><font color="#800000" size=2>Grid</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;/</font><font color="#800000" size=2>Button</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;/</font><font color="#800000" size=2>WrapPanel</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;/</font><font color="#800000" size=2>Window</font><font color="#0000ff" size=2>&gt;</font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>Each event handler writes  its name using Debug.WriteLine().</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>The problem is that the Bubble event does not implemented by the Button. How's that?</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>The output is:</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>PreviewA</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>PreviewB</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>PreviewC</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>C</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>B</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>Where is 'A' ???</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>Is it possible that Button already implements MouseLeftButtonDown to create the &quot;Click&quot; event instead? I think that it is a BUG!</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>Tomer</font></p></font>© 2009 Microsoft Corporation. All rights reserved.Thu, 19 Jun 2008 00:15:52 Z24b1ae8c-a3ea-4869-9e4c-a6f480f45089http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/24b1ae8c-a3ea-4869-9e4c-a6f480f45089#24b1ae8c-a3ea-4869-9e4c-a6f480f45089http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/24b1ae8c-a3ea-4869-9e4c-a6f480f45089#24b1ae8c-a3ea-4869-9e4c-a6f480f45089Tomer Shamamhttp://social.msdn.microsoft.com/Profile/en-US/?user=Tomer%20ShamamBubbling and Tunneling Events<p>Hi,</p> <p>I'm running the following XAML:</p><font color="#0000ff" size=2> <p>&lt;</font><font color="#800000" size=2>Window</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>x:Class</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Controls.Window1</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>xmlns</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>http://schemas.microsoft.com/winfx/2006/xaml/presentation</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>xmlns:x</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>http://schemas.microsoft.com/winfx/2006/xaml</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>Title</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Controls</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Height</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>300</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Width</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>300</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p>&gt;</p> <p>&lt;</font><font color="#800000" size=2>WrapPanel</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;</font><font color="#800000" size=2>Button</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>x:Name</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>button</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>PreviewMouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>PreviewA</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>MouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>A</font><font size=2>&quot;</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;</font><font color="#800000" size=2>Grid</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>PreviewMouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>PreviewB</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>MouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>B</font><font size=2>&quot;</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;</font><font color="#800000" size=2>WrapPanel</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;</font><font color="#800000" size=2>Ellipse</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Fill</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Blue</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Margin</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>5</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Width</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>25</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Height</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>25</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Stroke</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Black</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>HorizontalAlignment</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Center</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>VerticalAlignment</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Center</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>PreviewMouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>PreviewC</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>MouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>C</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p>/&gt;</p> <p>&lt;</font><font color="#800000" size=2>TextBlock</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Margin</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>5</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>HorizontalAlignment</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Center</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>VerticalAlignment</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Center</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>FontSize</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>14</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Text</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>Click Me!</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>PreviewMouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>PreviewD</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>MouseLeftButtonDown</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>D</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p>/&gt;</p> <p>&lt;/</font><font color="#800000" size=2>WrapPanel</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;/</font><font color="#800000" size=2>Grid</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;/</font><font color="#800000" size=2>Button</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;/</font><font color="#800000" size=2>WrapPanel</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;/</font><font color="#800000" size=2>Window</font><font color="#0000ff" size=2>&gt;</font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>Each event handler writes  its name using Debug.WriteLine().</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>The problem is that the Bubble event does not implemented by the Button. How's that?</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>The output is:</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>PreviewA</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>PreviewB</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>PreviewC</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>C</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>B</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>Where is 'A' ???</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>Is it possible that Button already implements MouseLeftButtonDown to create the &quot;Click&quot; event instead? I think that it is a BUG!</font></font></p> <p><font color="#0000ff" size=2><font color="#000000" size=3>Tomer</font></p></font>Wed, 21 Jun 2006 19:53:23 Z2006-06-22T20:44:41Zhttp://social.msdn.microsoft.com/Forums/en-US/wpf/thread/24b1ae8c-a3ea-4869-9e4c-a6f480f45089#d15dd548-92b2-4f3e-bad8-bb64218e368dhttp://social.msdn.microsoft.com/Forums/en-US/wpf/thread/24b1ae8c-a3ea-4869-9e4c-a6f480f45089#d15dd548-92b2-4f3e-bad8-bb64218e368dviliescuhttp://social.msdn.microsoft.com/Profile/en-US/?user=viliescuBubbling and Tunneling EventsIt's not a bug, it is by design.<br>Check this thread - the explanation from the documentation:<br><a title="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=426800&amp;SiteID=1" href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=426800&amp;SiteID=1">http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=426800&amp;SiteID=1</a><br>Wed, 21 Jun 2006 20:14:36 Z2006-06-22T20:44:41Z