title: Why MouseLeave event is fired even if mouse point is placed on the element?
body: <p>I have a canvas with a button and a border:</p>
  
  <pre><code>&lt;Grid&gt;
      &lt;Canvas Name="canvas1" &gt;
          &lt;Button  Name="button1" Visibility="Hidden" /&gt;
          &lt;Border BorderBrush="Red" BorderThickness="6" Name="border1" /&gt;
      &lt;/Canvas&gt;
  &lt;/Grid&gt;
  </code></pre>
  
  <p>Now what I want is on mouseenter of the border1, button1 should be visible and border itself should be hidden. And on mouseleave vice-versa. So written following handlers for two events:</p>
  
  <pre><code>void border1_MouseLeave(object sender, MouseEventArgs e)
  {
      border1.Visibility = Visibility.Visible;
      button1.Visibility = Visibility.Hidden;
  }
  
  void border1_MouseEnter(object sender, MouseEventArgs e)
  {
      border1.Visibility = Visibility.Hidden;
      button1.Visibility = Visibility.Visible;
  } 
  </code></pre>
  
  <p>The problem is MouseLeave is firing even if I put the mouse pointer on the border itself. Am I doing something wrong here?</p>