(sender as Button).Foreground = new SolidColorBrush(Colors.LightGray);
Como altero a cor do primeiro plano de um botão quando clicada?
-
05-07-2022 - |
Pergunta
Eu tenho algo assim:
<Grid>
<StackPanel Margin="100,0,98,0">
<Button x:Name="BtProd"
Content="{Binding Produto}"
FontSize="{StaticResource PhoneFontSizeLarge}"
Foreground="{Binding Color}"
Click="BtProd_Click">
</Button>
</StackPanel>
</Grid>
Como altero a cor do texto de um botão no arquivo c# .cs?
private void BtProd_Click(object sender, RoutedEventArgs e)
{
?
}
Eu gostaria de mudar de branco para LightGray quando o usuário clicar no botão. Obrigada.
Solução
Outras dicas
Você pode considerar usar um gatilho de estilo como assim:
<Style x:Key="ButtonPressStyle"
TargetType="Button">
<Style.Triggers>
<Trigger Property="IsPressed"
Value="True">
<Setter Property="Foreground">
<Setter.Value>
Red
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
Então você define seu botão assim:
<Button x:Name="BtProd"
Content="{Binding Produto}"
FontSize="{StaticResource PhoneFontSizeLarge}"
Foreground="{Binding Color}"
Style="{StaticResource ButtonPressStyle}"
Click="BtProd_Click">
</Button>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow