WPF / XAML Style set Propriété pour les éléments enfants?
Je travaille sur un code XAML de style pour mes contrôles.
Le code ci-dessous pour le réglage de la couleur d'un stackpanel. Il fonctionne très bien mais il y a autre chose que je veux faire. Si le déclencheur est activé, je veux régler la couleur de la police pour tous les éléments enfants, à l'intérieur de la stackpanel.
Pour le moment je n'ai que textblocks à l'intérieur de la stackpanel et je sais que je pourrais facilement créer un style pour un textbock. Mais si ce style est déclenché, il affectera seulement l'UN et pas TOUS les textblocks.
Mais je veux le changer tous les éléments à l'intérieur de la stackpanel dès que j'ai obtenu un pointage de la souris pour déclencher le panneau.
Est-ce encore possible en XAML ou dois-je code un événement régulier?
<Style x:Key="XStack" TargetType="StackPanel">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="SkyBlue" Offset="6"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<!-- Trigger-->
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True" >
<Setter Property="Background" Value="SkyBlue"/>
</Trigger>
</Style.Triggers>
</Style>
source d'informationauteur TalkingCode
Vous devez vous connecter pour publier un commentaire.
Ajouter à votre détente:
<Setter Property="TextElement.Foreground" Value="Blue"></Setter>
Comme Olle dit, vous pouvez définir la propriété attachée
TextElement.Foreground
à une valeur personnalisée. Pour un enfant de contrôle/UI nœud dans l'arborescence visuelle, si la propriété n'est pas définie, WPF va marcher jusqu'à l'INTERFACE utilisateur de la hiérarchie jusqu'à ce qu'il trouve une valeur et de l'utiliser. Cela signifie que tous les contrôles enfants peuvent partager la valeur d'une propriété définie au niveau du parent.Cela devrait fonctionner pour tous les TextBlocks... cependant, si votre StackPanel contenait une zone de texte, la couleur du texte ne serait pas affectée. Il utilise la propriété Foreground à partir de la base de Contrôle de la classe... Alors assurez-vous de le tester avec tous les enfant possible, les types d'élément.