Pergunta

Oi, o problema que estou tendo é que eu tenho controle múltiplo e cada visualização de árvores tem seus próprios estilos de TreeViewItem, configurando -o

TreeView ItemContainersTyle = "{StaticResource Style1}"

Definirá apenas o elemento raiz, não todos os elementos filhos, como aplicar um estilo a todos os elementos infantis em uma visão de árvore

Foi útil?

Solução

Existem várias maneiras de conseguir isso:

Você pode tornar seu estilo o padrão para todos os TreeViewItems:

<Style TargetType="{x:Type TreeViewItem}">
...
</Style>

A diferença é que você não define o atributo x: chave, mas define o atributo TargetType. Você não precisa definir o itemContainersTyle no seu TreeView neste caso.


Você também pode definir seu estilo como o estilo padrão para todos os TreeViewItems, mas apenas dentro do seu TreeView:

<TreeView>
    <TreeView.Resources>
        <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource Style1}"/>
    </TreeView.Resources>
</TreeView>

Nesse caso, você também não precisa definir o itemContainersTyle no seu TreeView.


Você também pode alterar seu estilo da seguinte maneira

<Style x:Key="Style1" TargetType="{x:Type TreeViewItem}">
    <Setter Property="ItemContainerStyle" Value="{StaticResource Style1}"/>
</Style>

Nesse caso, você ainda precisaria definir o itemContainersTyle no seu TreeView.

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