trigger wpf xaml triggers

wpf - trigger - ¿Cómo se configura el evento/desencadenador MouseOver para el borde en XAML?



button trigger wpf (1)

Sí, esto es confuso ...

De acuerdo con esta publicación del blog , parece que esto es una omisión de WPF.

Para que funcione, debes usar un estilo:

<Border Name="ClearButtonBorder" Grid.Column="1" CornerRadius="0,3,3,0"> <Border.Style> <Style> <Setter Property="Border.Background" Value="Blue"/> <Style.Triggers> <Trigger Property="Border.IsMouseOver" Value="True"> <Setter Property="Border.Background" Value="Green" /> </Trigger> </Style.Triggers> </Style> </Border.Style> <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="X" /> </Border>

Supongo que este problema no es tan común ya que la mayoría de la gente tiende a factorizar este tipo de cosas en un estilo, por lo que se puede utilizar en múltiples controles.

¿Cómo se configura el evento / desencadenador MouseOver para el borde en XAML? Quiero que el borde se ponga verde cuando el mouse está sobre él y luego volver a azul cuando el mouse ya no está sobre el borde. ¿Por qué no puedo usar el siguiente código?

<Border Name="ClearButtonBorder" Grid.Column="1" CornerRadius="0,3,3,0" Background="Blue"> <Border.Triggers> <Trigger Property="Border.IsMouseOver" Value="True"> <Setter Property="Border.Background" Value="Green" /> </Trigger> <Trigger Property="Border.IsMouseOver" Value="False"> <Setter Property="Border.Background" Value="Blue" /> </Trigger> </Border.Triggers> <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="X" /> </Border>

Realmente no entiendo estos disparadores y estilos en WPF. Es un lastre no ser capaz de lograr algo tan simple como esto ... Por favor, proporcione la solución para mí y ayúdame a entender qué diablos está mal con mi código. Gracias un montón.