2011-03-22 17 views
15

La WPF Grid tiene una propiedad "IsMouseOver" que puede usar en los activadores del estilo de la cuadrícula.Rejilla WPF Propiedad IsMouseOver

Mi problema es que la propiedad "IsMouseOver" solo cambia si el mouse está sobre algún control (es decir, un botón o ComboBox) dentro de la propia cuadrícula.

Por ejemplo:

<Grid> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="25" /> 
    <ColumnDefinition /> 
    </Grid.ColumnDefinitions> 

    <Button Grid.Column="1">A Button</Button> 

    <Grid.Style> 
    <Style TargetType="{x:Type Grid}"> 
     <Style.Triggers> 
     <Trigger Property="IsMouseOver" Value="False"> 
      <Setter Property="Opacity" Value="0.5"></Setter> 
     </Trigger> 
     <Trigger Property="IsMouseOver" Value="True"> 
      <Setter Property="Opacity" Value="1"></Setter> 
     </Trigger> 
     </Style.Triggers> 
    </Style> 
    </Grid.Style> 
</Grid> 

La rejilla arriba y su contenido se mostrarán en la mitad de la opacidad para que pueda ver los controles.

Notará que la opacidad será no se establecerá en completo si coloca el cursor sobre la primera columna (que no contiene nada).

Sin embargo, la opacidad será se establecerá en completo si pasa el mouse sobre el botón en la segunda columna.

En mi aplicación, la cuadrícula para la que estoy configurando los desencadenantes se muestra encima de un control de imagen. No quiero que se muestre la cuadrícula hasta que el mouse esté sobre la imagen ... En otras palabras, dado que la cuadrícula está en la parte superior de la imagen, no quiero que se muestre la cuadrícula hasta que el mouse esté sobre ella la cuadrícula (en cualquier lugar de la cuadrícula) porque la cuadrícula está en la parte superior de la imagen.

¿Alguien sabe cómo lograr esto?

Gracias!

-Frinny

Respuesta

27

Su problema es que la cuadrícula en sí no es impredecible-comprobable porque no tiene antecedentes. Pruebe esto en su lugar:

<Grid Background="Transparent"> 
+0

¡Muchas gracias por su respuesta! – Frinavale

9

configurar el fondo de las redes transparentes, entonces debería funcionar

para más detalles por qué esto es así que por favor look here

+0

¡Muchas gracias por su respuesta! La información adicional fue útil. – Frinavale

Cuestiones relacionadas