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.

Foi útil?

Solução

(sender as Button).Foreground = new SolidColorBrush(Colors.LightGray);

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
scroll top