2010-01-06 4 views
1

Une simple application silverlight:simple événement souris silverlight question

<Grid x:Name="LayoutRoot"> 
    <Canvas x:Name="C1" MouseLeftButtonDown="C1_MouseLeftButtonDown" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
     <Canvas x:Name="C2" MouseLeftButtonDown="C2_MouseLeftButtonDown" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
      <Rectangle x:Name="R1" Fill="AliceBlue" Height="40" Width="60"/> 
     </Canvas> 
    </Canvas> 
</Grid> 

Pourquoi les gestionnaires d'événements de souris Canvas obtenez appelé que lorsque je clique dans le contrôle Rectangle, et non dans le vide en toile?
Merci.

Répondre

4

Vous devez donner au Canevas un pinceau de fond pour donner au Canevas une surface sur laquelle détecter une souris.

<Grid x:Name="LayoutRoot"> 
    <Canvas x:Name="C1" Background="White" MouseLeftButtonDown="C1_MouseLeftButtonDown" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
     <Canvas x:Name="C2" MouseLeftButtonDown="C2_MouseLeftButtonDown" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
      <Rectangle x:Name="R1" Fill="AliceBlue" Height="40" Width="60"/> 
     </Canvas> 
    </Canvas> 
</Grid>