Pergunta

Eu tenho UserControls que contêm outros controles. Quero que se eu definir uma cor de primeiro plano para o UserControl, todos os controles filho automaticamente herdá-la. Eu tenho o mesmo problema com a pia batismal / tamanho.

Posso definir essas propriedades de algum modo auto / herdar? Isso é possível para definir todos os subcontrols sem um loop?

Foi útil?

Solução

Você pode criar dicionários de recursos para definir estilos padrão global.

Você também pode fazer referência a um dicionário de recurso ou definir um estilo de qualquer objeto.

Em ambos os casos esses estilos serão aplicadas a todos os objetos filho que não tem um estilo definido explicitamente ...

Exemplo:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <!--Default styles that will apply to any object of the specified type (if it doesn't have style set locally)-->
    <Style TargetType="Label" >
        <Setter Property="FontWeight" Value="Bold"/>
        <Setter Property="Margin" Value="0"/>
        <Setter Property="Padding" Value="0"/>
    </Style>
</ResourceDictionary>

Outras dicas

olhar em usar estilos e configurações BasedOn.

Eu escrevi recentemente um exemplo de algo semelhante localizada aqui . Unfortunally a questão estava relacionada com prata Lite, portanto, não responder à pergunta, mas eu acho que pode lhe dar algumas idéias sobre onde procurar.

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