2009-04-08 20 views
0

J'ajoute dynamiquement des contrôles dans une grille. Je ne saurai pas combien et je ne connaîtrai pas la hiérarchie exacte. Ce que je veux faire est d'accéder à certains contrôles qui ont un type spécifique (Button par exemple) et d'instancier certaines propriétés. Quelle est la meilleure façon de procéder?WPF - moyen rapide d'obtenir l'arbre visuel

+0

La meilleure façon de le faire est probablement de ne pas le faire, et en utilisant un style à la place. –

Répondre

1

Vous pouvez remplacer le style de bouton au niveau de la grille. Voici un exemple:

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="144*" /> 
     <RowDefinition Height="171*" /> 
    </Grid.RowDefinitions> 
    <Grid.Resources> 
     <!-- Override all Buttons style that are childs of the grid --> 
     <Style TargetType="Button"> 
      <Setter Property="Background" Value="LightBlue"/> 
      <Setter Property="FontSize" Value="20" /> 
     </Style> 
    </Grid.Resources> 
    <Button Grid.Row="0">Button1</Button> 
    <Button Grid.Row="1">Button2</Button> 
</Grid> 

dans cet exemple tous les boutons placés à l'intérieur de la grille ont la taille d'arrière-plan et la police définie par le style défini dans les ressources du réseau. Editer: cela fonctionne pour les boutons de contrôles ajoutés au moment de l'exécution, le style sera appliqué à ces contrôles lorsqu'il est ajouté à la grille, et vous pouvez également définir les styles de façon systématique si vous le souhaitez et les ajouter aux ressources de la grille. être appliqué automatiquement.