Pergunta

Estou trabalhando em um estilo XAML para meus controles. O código abaixo é para definir a cor de um Stackpanel. Funciona bem, mas há algo mais que eu quero fazer. Se o gatilho for ativado, eu quiser definir a cor da fonte para todos os itens infantis dentro do Stackpanel.

No momento, só tenho blocos de texto dentro do Stackpanel e sei que poderia criar um estilo separado para um textbock. Mas se esse estilo for acionado, afetará apenas um e nem todos os blocos de texto. Mas quero alterar todos os itens dentro do Stackpanel assim que recebi um gatilho do MouseOver para o painel.

Isso é possível no XAML ou tenho que codificar um evento regular?

<Style x:Key="XStack" TargetType="StackPanel">
    <Setter Property="Background">
        <Setter.Value>
            <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                <GradientStop Color="White" Offset="0"/>
                <GradientStop Color="SkyBlue" Offset="6"/>                    
            </LinearGradientBrush>
        </Setter.Value>
    </Setter>
    <!-- Trigger-->
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True" >
            <Setter Property="Background" Value="SkyBlue"/>
        </Trigger>
    </Style.Triggers>
</Style>    
Foi útil?

Solução

Adicione isso ao seu gatilho:

<Setter Property="TextElement.Foreground" Value="Blue"></Setter>

Outras dicas

Como Olle disse, você pode definir a propriedade em anexo TextElement.Foreground para um valor personalizado. Para um nó de controle infantil/UI na árvore visual, se a propriedade não estiver definida, o WPF subirá a hierarquia da UI até encontrar um valor e usá -lo. Isso significa que todos os controles infantis podem compartilhar um valor de propriedade definido no nível dos pais.

Isso deve funcionar para todos os blocos de texto ... no entanto, se o seu Stackpanel contivesse uma caixa de texto, sua cor de texto não seria afetada. Ele usa a propriedade em primeiro plano da classe Base de controle ... Certifique -se de testá -la com todos os tipos possíveis de elementos filhos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top