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.