Cambiar de color cuando el botón está activo (WPF en arquitectura MVVM)
<Button Command="{Binding LanguageChangeCommand}"
CommandParameter="English" Content="English"
Background="{Binding Button0}" Width="80" Grid.Column="3" Grid.Row="3"
Margin="8,15,162,21" Style="{Binding ActiveButtonStyle}"/>
<Button Command="{Binding LanguageChangeCommand}"
CommandParameter="China" Content="中国"
Background="{Binding Button1}" Width="80" Grid.Column="3" Grid.Row="3"
Margin="78,19,77,21" Style="{Binding ActiveButtonStyle}"/>
<Button Command="{Binding LanguageChangeCommand}"
CommandParameter="Tamil" Content="தமிழ்"
Background="{Binding Button2}" Width="80" Grid.Column="3" Grid.Row="3"
Margin="165,15,10,21" Style="{Binding ActiveButtonStyle}"/>
Quiero cambiar el color de los botones cuando estén activos. Por favor, ayúdame.
Quiero cambiar los colores de mis botones cuando se haga clic en un botón, el color debe cambiarse y ser diferente de los otros botones. Y después de hacer clic en otro botón, el botón previamente seleccionado debe volver a su color normal y el botón recién seleccionado debe tener el color mencionado.
davy.ai
Para cambiar el color de un botón cuando está activo, podemos usar un disparador en XAML. Dentro del estilo del botón, podemos agregar un disparador que cambiará el color de fondo del botón cuando se haga clic en él. Aquí tienes un ejemplo:
En este ejemplo, hemos agregado un disparador para la propiedad
IsPressed
del botón. Cuando el valor de esta propiedad esTrue
, entonces el color de fondo del botón cambiará aRed
. Puedes cambiar el color a cualquier otro que desees.Para aplicar este estilo a todos los botones en tu fragmento de código, puedes definir el estilo en un diccionario de recursos y luego hacer referencia a él en cada botón:
En este ejemplo, cada botón está utilizando el
ButtonStyle
definido en el diccionario de recursos. Esto aplicará el mismo estilo a cada botón, incluido el disparador para cambiar el color de fondo cuando se hace clic en el botón.