2010-07-01 4 views
0

J'ai un StackPanel que je modifie dynamiquement le contenu toutes les 5 minutes pour afficher les messages de l'utilisateur. Ces messages sont affichés en tant que TextBlock ou HyperLinkButton. Je me demande comment/si je peux définir un style dans le style StackPanels qui s'appliquera aux enfants.Mise en forme des éléments enfants StackPanel dynamiquement ajoutés

E.g. Est-ce possible ou ai-je besoin de définir le style dans le code avant d'ajouter chaque UiElement?

Répondre

2

Vous pouvez tirer parti de Implicit Styling dans Silverlight 4.0 comme vous le pouvez dans WPF. L'astuce consiste à omettre la propriété x: Key lorsque vous définissez un style, et il sera automatiquement appliqué à tous les éléments de TargetType dans la portée de ResourceDictionary où vous définissez le style.

Voici un exemple:

<StackPanel> 
    <StackPanel.Resources> 
    <Style TargetType="TextBlock"> 
     <Setter Property="TextElement.Foreground" Value="WhiteSmoke"/> 
     <Setter Property="TextElement.FontWeight" Value="Bold"/> 
    </Style> 
    </StackPanel.Resources> 
    <TextBlock Text="My Message"/> 
</StackPanel> 

Tous les éléments TextBlock à l'intérieur du StackPanel ont désormais ce style appliqué mais ils sont ajoutés à elle.

+0

+1 Fonctionne un festin, merci. – Fermin

Questions connexes