Question

Salut Le problème ai est que j'ai plusieurs contrôle TreeView et chaque TreeView a ses propres styles TreeViewItem, le mettre

  

TreeView ItemContainerStyle = "{StaticResource Style1}"

ne fera que mettre l'élément racine pas tous les éléments de l'enfant, comment appliquer un style à tous les éléments de l'enfant dans un TreeView

Était-ce utile?

La solution

Il y a plusieurs façons d'y parvenir:

Vous pouvez faire votre style par défaut pour tous TreeViewItems:

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

La différence est que vous ne définissez pas l'attribut x: Key, mais vous ne définissez l'attribut TargetType. Vous n'avez pas besoin de régler la ItemContainerStyle sur votre TreeView dans ce cas.


Vous pouvez également définir votre style comme style par défaut pour tous les TreeViewItems, mais seulement dans votre TreeView:

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

Dans ce cas, vous pouvez aussi ne pas besoin de définir la ItemContainerStyle sur votre TreeView.


Vous pouvez également modifier votre style comme suit

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

Dans ce cas, vous auriez encore à régler la ItemContainerStyle sur votre TreeView.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top